break文にラベルを指定することで、入れ子(ネスト)で多階層にした制御構文(制御構造)の、複数の階層のループ(繰り返し)処理を終了させることができる。
for文、 拡張for文、 while文、 do-while文 などの制御構文で主に使用する。
構文
1 | break ラベル; |
サンプル
for文
詳細については、「多階層for文の複数の階層のループ処理をbreakで終了させる」のページへ。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | package samplePackage; public class SampleClass { public static void main( String[] args ){ for ( int $varA = 1; $varA <= 3; $varA++ ) { sample: for ( int $varB = 1; $varB <= 3; $varB++ ) { for ( int $varC = 1; $varC <= 3; $varC++ ) { System.out.println( $varA + "-" + $varB + "-" + $varC ); if ( $varC == 2 ) { break sample; } } } } } } |
実行結果
1-1-1
1-1-2
2-1-1
2-1-2
3-1-1
3-1-2
1-1-2
2-1-1
2-1-2
3-1-1
3-1-2
拡張for文
詳細については、「多階層の拡張for文の複数の階層のループ処理をbreakで終了させる」のページへ。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | package samplePackage; public class SampleClass { public static void main( String[] args ){ int[][][] $array = { { { 1, 2 }, { 3, 4 } }, { { 5, 6 }, { 7, 8 } }, { { 9, 10 }, { 11, 12 } } }; for( int[][] $itemA : $array ){ sample: for( int[] $itemB : $itemA ){ for( int $itemC : $itemB ){ if ( $itemC == 5 ) { break sample; } System.out.println( "「" + $itemC + "」" ); } } } } } |
実行結果
「1」
「2」
「3」
「4」
「9」
「10」
「11」
「12」
「2」
「3」
「4」
「9」
「10」
「11」
「12」
while文
詳細については、「多階層while文の複数の階層のループ処理をbreakで終了させる」のページへ。
package samplePackage;
public class SampleClass {
public static void main( String[] args ){
int $varA = 1;
while ( $varA <= 3 ) {
System.out.println( "$varA: " + $varA++ );
int $varB = 1;
sample:
while ( $varB < $varA ) {
System.out.println( "■$varB: " + $varB++ );
int $varC = 1;
while ( $varC < $varB ) {
if ( $varC == 2 ) {
break sample;
}
System.out.println( "■■$varC: " + $varC++ );
}
}
}
}
}
public class SampleClass {
public static void main( String[] args ){
int $varA = 1;
while ( $varA <= 3 ) {
System.out.println( "$varA: " + $varA++ );
int $varB = 1;
sample:
while ( $varB < $varA ) {
System.out.println( "■$varB: " + $varB++ );
int $varC = 1;
while ( $varC < $varB ) {
if ( $varC == 2 ) {
break sample;
}
System.out.println( "■■$varC: " + $varC++ );
}
}
}
}
}
実行結果
$varA: 1
■$varB: 1
■■$varC: 1
$varA: 2
■$varB: 1
■■$varC: 1
■$varB: 2
■■$varC: 1
$varA: 3
■$varB: 1
■■$varC: 1
■$varB: 2
■■$varC: 1
■$varB: 1
■■$varC: 1
$varA: 2
■$varB: 1
■■$varC: 1
■$varB: 2
■■$varC: 1
$varA: 3
■$varB: 1
■■$varC: 1
■$varB: 2
■■$varC: 1
do-while文
詳細については、「多階層do-while文の複数の階層のループ処理をbreakで終了させる」のページへ。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | package samplePackage; public class SampleClass { public static void main( String[] args ){ int $varA = 1; do { System.out.println( "$varA: " + $varA++ ); int $varB = 1; sample: do { System.out.println( "■$varB: " + $varB++ ); int $varC = 1; do { if ( $varC == 2 ) { break sample; } System.out.println( "■■$varC: " + $varC++ ); } while ( $varC < $varB ); } while ( $varB < $varA ); } while ( $varA <= 3 ); } } |
実行結果
$varA: 1
■$varB: 1
■■$varC: 1
$varA: 2
■$varB: 1
■■$varC: 1
■$varB: 2
■■$varC: 1
$varA: 3
■$varB: 1
■■$varC: 1
■$varB: 2
■■$varC: 1
■$varB: 1
■■$varC: 1
$varA: 2
■$varB: 1
■■$varC: 1
■$varB: 2
■■$varC: 1
$varA: 3
■$varB: 1
■■$varC: 1
■$varB: 2
■■$varC: 1