From the jls - "A continue statement with label Identifier attempts to transfer control to the enclosing labeled statement (�14.7) that has the same Identifier as its label; that statement, which is called the continue target, then immediately ends the current iteration and begins a new one"
-
http://java.sun.com/docs/books/jls/third_edition/html/statements.html#14.16 Based on the above statement, in your code example, every time "continue outer" is called, the control is transferred to the for statement with the label "outer" to start the next iteration. The code never reaches the print statement.
Try the same example with "continue;" instead of "continue outer;"
HTH
Ashish Hareet