The outer while loop will run three times, with i = 0, with i = 1, and then with i = 2.
The first time the do loop runs, it will run 4 times. with j = 0, with j = 1, with j = 2, and then with j = 3. The reason there seems to be an extra iteration is because the condition check for the do-loop is at the end.
The second and third time the do-loop runs, they will both run once each -- with j = 4, and with j = 5. Just as before, since the checking is at the end, it seems to run at least one extra iteration.
class JMM114 { public static void main (String[] args) { int i = 0, j = 0; while (i++ < 3) do System.out.print(j); while (j++ < 3);}}
Regards,<br />Satya<br />SCJP,SCWCD
satya mahapatra
Ranch Hand
Joined: Jan 07, 2006
Posts: 134
posted
0
class JMM114 { public static void main (String[] args) { int i = 0, j = 0; while (i++ < 3) { do
System.out.print(j); while (j++ < 3);}}
satya mahapatra
Ranch Hand
Joined: Jan 07, 2006
Posts: 134
posted
0
class JMM114 { public static void main (String[] args) { int i = 0, j = 0; while (i++ < 3) { do { System.out.print(j); }while (j++ < 3); } } } so while(i++<3) is the outer loop. and do-while loop is inner loop. i think now ye doubt is cleard;
Anju sethi
Ranch Hand
Joined: Dec 26, 2005
Posts: 91
posted
0
...thanks for explanation.
this is a silly question but i want to know On the first place, is it possible to have multiple lines in a while loop without starting and ending braces.
for eg. how "while(...)do{....}while(...);" is including multiple lines as the body of the outer while loop without braces. Ideally it should be while(...){ do{....} while(...); }
as per my knowledge, without braces any loop will have only one (first) statement in the body of the loop.
why we are not getting problem in the above code while(...)do{....}while(...);
thanks,<br />Anju Sethi
I agree. Here's the link: http://ej-technologies/jprofiler - if it wasn't for jprofiler, we would need to
run our stuff on 16 servers instead of 3.