+ 4
How this outputs 1??
public class Program { public static void main(String[] args) { int i=3; for(i=5;i<i*i;i--){} System.out.print(i); } }
2 Answers
+ 4
iteration 1: i=5 -> i < 25 is true.
iteration 2: i=5 -> i-- so i=4 -> 4 < 16 is true.
iteration 3: i=4 -> i-- so i=3 -> 3 < 9 is true.
iteration 4: i=3 -> i-- so i=2 -> 2 < 4 is true.
iteration 5: i=2 -> i-- so i=1 -> 1 < 1 is FALSE.
End of the for loop with i=1;
System.out.print(i) is out of the for loop so it prints 1
+ 12
for () loop will keep on executing until the condition i <i*i will be true ... so we are not going to see each loop (it will consume time) , but just see when the condition become false for the 1st time ... here at 1 <1 , so 1 will be the final value of i after loop executes fully