Java puzzle 22: The do-while iteration

  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

  1. 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.
  2. The conditoon x + y < 12 returns true, because x + y = 2 + 5. Therefore the body of the loop is executed.
  3. 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.
  4. 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.

The second edition of Learn Java and Master Writing Code is easy to understand, organized to learn Java voor beginners and it guides readers to master Java code by solving more than 100 exercises and assignments. This book explains each chapter properly before starting with the exercises and the assignments. Available on Amazon. See inside the book here!




Sar Maroof is a professional software development teacher, gives master classes and publishes technical articles. He is also an expert software developer and worked for several big as well as small companies and later as a freelancer.

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

Leave a Reply

Your email address will not be published. Required fields are marked *