【連載14】Javaプログラミングの基本 脱出(break文)

Javaでの制御構文のひとつとしてbreak文とcontinue文があります。

この2つの構文は、これまで見てきたif文やfor文などとは少し毛色が違い特殊なものとなっています。

今回の記事では、そのうちのbreak文について解説していきます。

break文の使い方

break文は、実行したブロックを抜ける(脱出させる)という動作をさせたい場合に使用します。

break文について、条件分岐の構文であるswitch文で使用するサンプルを以前の記事で解説しました。

そのサンプルでは、switch文case句の残りの処理を飛ばし、switchブロックから脱出させるときに使用しました。

break文はそれ以外にも、繰り返し処理(forループ、whileループ、doループ)の途中で、ブロックから脱出させるときにも使われます。

まずは以下のサンプルコードを見てください。

public class Sample14_01{
    public static void main(String[] args) {
        for(int i = 0; i < 10; i++){
            System.out.println(i);
            
            if(i == 5){
                break;
            }
        }
        System.out.println("End");
    }
}
0
1
2
3
4
5
End

上記サンプルでは、カウンタ変数「i」の値が5であったら、break文によりループを抜ける、という処理になります。

多重ループ内でbreak文を実行した場合

forループの中に、もうひとつforループを定義し、多重ループとすることもできますが、多重ループ内でbreak文を実行した場合、一番内側のループを抜けることになります。

public class Sample14_02{
    public static void main(String[] args) {
        for(int i = 0; i < 2; i++){
            System.out.println("i = " + i);
            
            for(int j = 0; j < 10; j++){
                System.out.println("  j = " + j);
                if(j == 3){
                    break;
                }
            }
        }
        System.out.println("End");
    }
}
i = 0
  j = 0
  j = 1
  j = 2
  j = 3
i = 1
  j = 0
  j = 1
  j = 2
  j = 3
End

上記サンプルでは、カウンタ変数「i」でforループ(外側)を作り、さらにカウンタ変数「j」でforループ(内側)を作っています。

このような構成では、break文を実行したブロックを抜ける、つまり、内側のforループでbreak文を実行すれば、内側のforループを抜け、外側のforループに処理が移るという動作となります。

最も近いブロック({ }で囲った部分)を抜けると考えると覚えやすいです。

まとめ

今回はbreak文について、for文を用いて解説しましたが、for文だけでなく、while文やswitch文でも同様に使用できる構文です。

break文によって、for文・while文で作るループ内での処理やswitch文をすぐに終了させて、抜けるためのものであり、利用する場面は多いです。

やっていることはとてもシンプルですが、とても大事な構文ですので、ここでしっかり覚えておきましょう。