This week's book giveaway is in the Agile and other Processes forum.
We're giving away four copies of The Mikado Method and have Ola Ellnestam and Daniel Brolund on-line!
See this thread for details.
The moose likes Beginning Java and the fly likes Do-while loop? Big Moose Saloon
  Search | Java FAQ | Recent Topics
Register / Login


Win a copy of The Mikado Method this week in the Agile and other Processes forum!
JavaRanch » Java Forums » Java » Beginning Java
Reply Bookmark "Do-while loop?" Watch "Do-while loop?" New topic
Author

Do-while loop?

Abhi vijay
Ranch Hand

Joined: Sep 16, 2008
Posts: 509
Source: K&B Book.

1. public class Test {
2. public static void main(String [] args) {
3. int I = 1;
4. do while ( I < 1 )
5. System.out.print("I is " + I);
6. while ( I > 1 ) ;
7. }
8. }

The answer is no output is produce.
But isnt there a compilation error???
Rob Spoor
Sheriff

Joined: Oct 27, 2005
Posts: 19216


I've added better indentation (which was left out on purpose in the book) so you can see the real flow.

The trick is, this is a while loop inside a do-while loop, which is perfectly fine.

Now as to why there is no output.
The inner loop itself is executed at least one. However, it's guard yields false immediately, so its body (the print) is not executed. Next the outer loop's guard is evaluated, and it too is false, thereby ending this loop too.


SCJP 1.4 - SCJP 6 - SCWCD 5
How To Ask Questions How To Answer Questions
Campbell Ritchie
Sheriff

Joined: Oct 13, 2005
Posts: 32671
    
    4
That's what I thought because there is no semicolon after the first while() but I tried it and it compiled and ran very boringly.

That is peculiar since the do-while there doesn't appear to fit into the form in the JLS.

Anybody else got any ideas?
Campbell Ritchie
Sheriff

Joined: Oct 13, 2005
Posts: 32671
    
    4
Yes, Rob is right.
Abhi vijay
Ranch Hand

Joined: Sep 16, 2008
Posts: 509
Thanks,Rob.
 
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.
 
subject: Do-while loop?
 
Similar Threads
do while loop
JAVA SCJP Master Exam dowhile loop
Sierra & Bates book do while question
do while and while
looping