break ラベル

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

拡張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」

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++ );
                }
            }
        }

    }

}

実行結果

$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

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