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文をすぐに終了させて、抜けるためのものであり、利用する場面は多いです。
やっていることはとてもシンプルですが、とても大事な構文ですので、ここでしっかり覚えておきましょう。