Computer Applications
How many times are the following loop bodies repeated? What is the final output in each case?
int z = 2;
while (z < 20)
if ((z++) % 2 == 0)
System.out.println(z);
Java
Java Iterative Stmts
3 Likes
Answer
The loop repeats for 18 times.
3
5
7
9
11
13
15
17
19
Working
The loop executes 18 times. Value of z is printed 9 times inside the loop. The condition if((z++) % 2 == 0) will be false when z is odd and true when z is even. Value of z will be incremented after if check is performed due to post increment operator z++. Execution of the loop is summarized in the table below:
| Iterations | z | (z++) % 2 == 0 | Output | Remarks |
|---|---|---|---|---|
| 1st | 2 | True | 3 | Value of z becomes 3 after if check as z++ increments it after the evaluation of (z++) % 2 == 0. Hence, 3 is printed. |
| 2nd | 3 | False | z becomes 4 after if check | |
| 3rd | 4 | True | 5 | z becomes 5. |
| 4th | 5 | False | z becomes 6. | |
| 5th | 6 | True | 7 | z becomes 7. |
| 6th | 7 | False | z becomes 8. | |
| 7th | 8 | True | 9 | z becomes 9. |
| 8th | 9 | False | z becomes 10. | |
| 9th | 10 | True | 11 | z becomes 11. |
| 10th | 11 | False | z becomes 12. | |
| 11th | 12 | True | 13 | z becomes 13. |
| 12th | 13 | False | z becomes 14. | |
| 13th | 14 | True | 15 | z becomes 15. |
| 14th | 15 | False | z becomes 16. | |
| 15th | 16 | True | 17 | z becomes 17. |
| 16th | 17 | False | z becomes 18. | |
| 17th | 18 | True | 19 | z becomes 19. |
| 18th | 19 | False | z becomes 20. |
As value of z is now 20, the test condition of while loop becomes false hence, 19th iteration of the loop is not executed.
Answered By
1 Like
Related Questions
How many times are the following loop bodies repeated? What is the final output in each case?
int x = 2; while (x < 20) if (x % 2 == 0) System.out.println(x);How many times are the following loop bodies repeated? What is the final output in each case?
int y = 2; while (y < 20) if (y % 2 == 0) System.out.println(y++);What is the output produced by the following code?
int n = 20; do { System.out.println(n); n = n - 3; } while (n > 0);What is the output produced by the following code?
int num = 20; while (num > 0) { num = num - 2; if (num == 4) break ; System.out.println(num); } System.out.println("Finished");