0
How does this be an infinite loop?
class MyClass { public static void main(String[ ] args) { for(int i=0;i<5;){ i=i++; System.out.print(i); } } }
2 Answers
+ 8
I think its becuase your assigning "i" to use the value of "i" again before an increment is made so the value of i would be 0 again and again giving you your infinate loop.
If you use ++i instead your output will be diffrent as the increment is made before hand.
+ 7
Because of the line where it says i = i++; the variable 'i' value is 0, and in that line you assign the value (zero) back to 'i' itself, again and again.
Remember that when you go i = i++; the value of 'i' is assigned (to itself) before it is incremented, contrary, had you used i = ++i; the value is incremented first, before it is assigned.
Hth, cmiiw