Computer Applications
How many times will the following loop execute?
public static void main(String args[])
{
int i = 1;
while (i < 10)
if (i++ % 2 == 0)
System.out.println(i);
}
- 4
- 5
- 0
- 10
Java Iterative Stmts
15 Likes
Answer
Loop executes 9 times
Reason — There is a misprint in the book. The loop executes 9 times. Value of i is printed 4 times inside the loop. The condition if (i++ % 2 == 0) will be false when i is odd and true when i is even. Value of i will be incremented after if check is performed due to post increment opertor i++. Execution of the loop is summarized in the table below:
| Iterations | i | i++ % 2 == 0 | Output | Remarks |
|---|---|---|---|---|
| 1st | 1 | False | Value of i becomes 2 after if check as i++ increments it after the evaluation of i++ % 2 == 0 | |
| 2nd | 2 | True | 3 | i becomes 3 after if check, hence 3 is printed in this iteration. |
| 3rd | 3 | False | i becomes 4. | |
| 4th | 4 | True | 5 | i becomes 5. |
| 5th | 5 | False | i becomes 6. | |
| 6th | 6 | True | 7 | i becomes 7. |
| 7th | 7 | False | i becomes 8. | |
| 8th | 8 | True | 9 | i becomes 9. |
| 9th | 9 | False | i becomes 10. |
As value of i is now 10, the test condition of while loop becomes false hence, 10th iteration of the loop is not executed.
Answered By
4 Likes
Related Questions
What will be the output of the following code?
public static void main(String args[]) { int sum = 0; for (int i= 1; i <= 5; i++) { sum = i; } System.out.println(sum); }- 15
- 21
- 5
- 0
How many times will the following loop execute?
public static void main(String args[]) { int sum = 0; for (int i = 10; i > 5; i++) { sum += i; } System.out.println(sum); }- 5
- 0
- 15
- Infinite loop
State whether the following statement is True or False :
To execute a do-while loop, the condition must be true in the beginning.
State whether the following statement is True or False :
The while loop is an exit-controlled loop.