Follow

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use
Contact

How does this break; syntax work in this code of Java

public static void main(String[] args) {
int x = 0;
int y = 30;
for (int outer = 0; outer < 3; outer ++) {
   for (int inner = 4; inner > 1; inner --) {
      x = x + 3;
      y = y - 2;
      if (x == 6) {
         break;
      }
      x = x + 3;
   }
   y = y - 2;
 }
 System.out.println(x + " " + y);
}

what I did on this code: outer loop’s first iteration starts when it is 0 after that inner for loop starts from 4, x = 0 + 3 will be save in x, then y = 30 – 2 will be saved, and x is not 6 so if statement will not be operating yet. and x will be added with another 3. So, now it’s 6. What I am curious about at this point is will the program will start the if statement right away as soon as x reaches 6? or since if statement is already passed by the order of the lines on the program, is it not going to be executed?
my possible output estimation is: 42 6
but the correct output is: 54 6

>Solution :

MEDevel.com: Open-source for Healthcare and Education

Collecting and validating open-source software for healthcare, education, enterprise, development, medical imaging, medical records, and digital pathology.

Visit Medevel

What I am curious about at this point is will the program will start
the if statement right away as soon as x reaches 6?

-> The program will then run for integer inner value 3 ,
then x becomes 9 and y becomes 26 . x != 6 , if condition wont be executed then x becomes 12

inner value 2 :

x = 15, y = 24 , x = 18 

inner value 1 : ( the for loop break ) 
x = 18 and y= 22

outer =1 : 

inner = 4, x = 24, y = 20 , 

inner = 3 , x = 30 , y =18 

inner = 2 , x = 36, y  = 16

inner = 1 ( won't executed ) 

 exits inner for loop 
x = 36, y = 14
outer= 2 ; 

inner = 4 : 
x = 42, y = 12
 
inner = 3 : 
x = 48 , y = 10 ; 

inner  =2 
x = 54, y = 8 
inner =1 : exits inner for loop 
x = 54 and y = 6 

thus the final values are x = 54, and y = 6 only 

:

Add a comment

Leave a Reply

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use

Discover more from Dev solutions

Subscribe now to keep reading and get access to the full archive.

Continue reading