Quizzes Assignments Puzzles Easy exercises Required knowledge |

< |
Java Puzzles Green = Easy, Blue = Normal, Red = Hard Select 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 By title |
> |
---|

This quiz shows that the do block is executed first then the condition is evaluated. That is what happens by the do-while loop and it isÂ different with the while-loop and the for-loop.

### Java puzzle 22: The do-while iteration

Level: Normal

What is the output of this program and why?

public class MyClass { public static void main(String[] args) { int x = 1; int y = 3; do { x++; y += 2; } while(x + y < 12); System.out.print(x + "" + y); } }

###### Author: Sar Maroof

### Answer explanation

- By do-while the do block is exectued before the evaluation of the condition. Therefore the statements x ++; and y += 2; increment the values of x and y by 1 and 2 respectively. So, x = 1 + 1 = 2. and y = 3 + 2 = 5.
- The conditoon x + y < 12 returns true, because x + y = 2 + 5. Therefore the body of the loop is executed.
- The statements x ++; and y += 2; increment the values of x and y by 1 and 2 respectively. So, x = 2 + 1 = 3; and y = 5 + 2 = 7. So, x + y = 10 and that is smaller less than 12.
- The statements x ++; and y += 2; increment the values of x and y by 1 and 2 respectively. So, x = 3 + 1 = 4; and y = 7 + 2 = 9. So, x + y = 4 + 9 = 13 and that is greater than 12. Therefore the loop is terminated.

The code writes 49 to the standard output.

## Suggested Articles

Subscribe to Sar Maroof's RSS feeds! Mail this page to a friend! Bookmark this page! |