This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
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.