Revised: Dec./26th/2001: Since: Dec./26th/2001
多重ネストがあるとき、下層ブロック内で break 文を使うと、制御は一つ上のブロックに戻ります。多重ネストを一度に脱出したい場合は、大元のブロックにラベルを貼っておきます。脱出時にこのラベルを指定すれば、ラベルが貼られたブロックの外側に制御を移すことが出来ます。
class TestLabel{
public static void main(String args[]){
escape:
for(int i=0; i<=9; i++){
System.out.print(i+": ");
for(int j=0; j<=9; j++){
System.out.print(" "+i*j);
if(i*j>=20){ //積が20以上になれば
break escape; //ラベルで指定した階層へ脱出
}
} //jループ終了
System.out.println("");
} //iループ終了
}
}
C:\Java<javac TestLabel.java C:\Java<java TestLabel 0: 0 0 0 0 0 0 0 0 0 0 1: 0 1 2 3 4 5 6 7 8 9 2: 0 2 4 6 8 10 12 14 16 18 3: 0 3 6 9 12 15 18 21