SJC-P対策 フロー制御(2)

break,continue文



break,cotinue文は、ループ制御中に使う事の出来るキーワードだ。

普通ループ処理を中断したい場合は、次の3つの方法が考えられる。
break文、return文、System.exit()...

break文は、現在実行中のループ処理を抜けたり、switch文をフォールスルー
しないために利用できると考えられます。
continue文は、反復式の中で行う処理をスキップします。
この辺の事はCと殆ど同じですね。

ただjavaにはgoto文が無い代わりに、ラベルつきbreak,continueが
存在します。
次のようなものです。

//ラベル付き continue文

for(int a = 0; a < 2; ++a)
{
    System.out.println("a" + a);
    loop1:
    for(int b = 0; b < 2; ++b)
    {
        System.out.println("b" + b);
        for(int c = 0; c < 2; ++c)
        {
            System.out.println("c" + c);
            break loop1;
        }
    }
}


以外にも、結果は次のようになります。

a0
b0
c0
b1
c1
a1
b0
c0
b1
c1

//ラベル付き break文

loop0:
for(int a = 0; a < 2; ++a)
{
    System.out.println("a" + a);
    loop1:
    for(int b = 0; b < 2; ++b)
    {
        System.out.println("b" + b);
        for(int c = 0; c < 2; ++c)
        {
            System.out.println("c" + c);
            break loop0;
        }
    }
}


結果は次のようになります。

a0
b0
c0


この場合は、一番初めのループ文から抜けると言う意味です。
このラベルつきbreak,continueは反復式の中でのみ有効です。