I am trying to understand this code in Java 7 environment,
int T = getIntVal(); while (T--> 0) { // do stuff here } T is not modified within the while loop. Can someone explain this code?
The -- (decrement) operator will subtract from T each time the loop is run (after the loop condition is run since it as after T).
The simplest way is to just try it out:
public class Tester { public static void main(String[] args) { System.out.println("-------STARTING TESTER-------"); int T = 5; while (T-- > 0) { System.out.println(T); } System.out.println("-------ENDING TESTER-------"); } } Output:
-------STARTING TESTER------- 4 3 2 1 0 -------ENDING TESTER------- If the -- operator was before T, the output would look like this (since it subtracts before the loop condition is run):
-------STARTING TESTER------- 4 3 2 1 -------ENDING TESTER-------
T--does?