【よくわかる】Javaのbreak文とは?特徴や使い方を徹底解説!
  • facebookページ
  • twitterページ
  • 2020.12.18

    【よくわかる】Javaのbreak文とは?特徴や使い方を徹底解説!

    breakとは

    Javaで使われるbreak文は、ループ文(for文やwhile文)やswitch文などを途中で抜けるために使う構文です。

    breakを囲んでいる1番内側の繰り返しブロックが、中断されます。

    break文の使い方

    break文の使い方は簡単です。

    ループ文やswitch文で処理を中断したい位置に記述します。

    breakしたい条件を if文 を使うことで、条件をつけた処理が実行可能です。

    では実際に、プログラムを書いて動きを確認してみましょう!

    for文をbreakで中断

    for文を使って、iが5になったところでbreakしてみます。

    上記のように、1〜4までの間はprint文でiの値を表示させています。

    そしてループが5になったところでif文の条件に合致し、break文が動作します。

    for文を途中で抜けて、以降の処理が実行されなくなりました。

    while文をbreakで中断

    while文でも同様の処理が記述可能です。

    一連の処理の動作もfor文と同じです。

    このように、条件をうまく設定すれば任意の条件・場所で処理を中断できます。

    使い方を覚えておくことで、複雑な条件分岐も設定可能です。

    次に、ネストされたループをスキップする方法を見ていきましょう。

    breakでネスト(入れ子構造)されたループをスキップ

    for文が1つしかない処理の場合は、while文でも同じように使えました。

    しかし、for文をネストにした場合は、breakの書き方に気をつける必要があります。

    書き方によっては、意図しない動作になりかねないからです。

    例えば、以下のようなプログラムを作ったとしましょう。

    上記のプログラムが、1つ目のfor文の中に2つ目のfor文があります。

    そして、2つ目のfor文でbreak文を使い、jが3になったら処理を中断するよう指示していますね。

    実行結果のように、2つ目のfor文は2回目の処理までを処理しています。

    そのため、2つ目のfor文を中断するだけで、全体としてforループ(1つ目のfor文)は止まりません

    iが5になるまで全体の処理が進んでいるのがわかります。

    もし、このプログラムをjが3になった時点で、すべて終了させるにはどうしたら良いでしょうか。

    簡単な方法としては、1つ目のfor文にもbreakを記述することです。

    次のように記述できます。

    意図した実行結果になっているのがわかります。

    さらに、1つ目のfor文にも条件をつける場合は、2つ目のfor文同様にif文を設定すればOKです。

    このようにfor文をネストにした場合は、breakの記述は意図した動作になるよう注意しながら設定が必要です。

    ポテパンダの一言メモ

    全体としてのループを終了させるときは、1つ目のfor文でもbreakを記述する!
    終了条件を設定するにはif文を使う!

    ラベル付きbreak文でネストをスキップ

    前章で、ネストされたループのスキップ方法を紹介しました。

    実は、ラベル付きbreak文を使うことでもっと簡単にループを中断できます。

    ここでは、ラベル付きbreak文でネストをスキップ方法を見ていきましょう。

    Javaのラベルとは、プログラム上の目印のようなものです。

    ラベル名を処理に付けることで、ラベルと一致するものに処理を移せるようになります。

    文章で説明されてもイメージしづらいと思うので、実際に動かして確認しましょう!

    以下のようにプログラムの記述を変更しました。

    1つ目のfor文の前に「loop:」が追加されていますね、これがラベルです。

    そして、breakの後ろにも「loop」と記述されています。

    通常であれば、break文が実行されたときに、break文を含む一番内側のブロックを抜ける処理に入ります。

    一方、ラベルを付けることで、ラベルを付けた任意のブロック処理を中断できるようになるのです。

    つまり、上記のプログラムで言うと、2つ目のfor文のjが3になった時点で、1つ目のfor文をスキップすることになります。

    実行結果を見てみると、次の通りです。

    このように、意図した動作になっていますね!

    ラベル付きbreak文を利用すると、どこのブロックを中断するのかコードを見てわかりやすくなるメリットがあります。

    多用は禁物ですが、多重ループのときなどに積極的に活用してみると良いでしょう!

    ポテパンダの一言メモ

    ラベル付きbreak文で、ネストを任意のブロックで中断できます!
    ブロックに「ラベル名:」を、そしてbreak文に「break ラベル名」を記述して使いましょう!

    break文とcontinue文の違い

    breakと合わせて「continue」という言葉も聞きます。違いはなんですか?

    breakが処理を中断するのに対し、continueは処理を中断した上で、次の周回に進む処理です。それぞれ処理を確認してみましょう!

    ここでは、break文とcontinue文の違いを確認します。

    上記の説明通り、continue文は処理の中断後に次の周回に進む構文です。

    実際に、同じプログラムでbreakとcontinueの動きを確認してみましょう。

    まずは、break文です。

    2つ目のfor文は3回目で中断が入っていますね。

    今度は、continue文を実行してみます。

    このように、continue文では2つ目のfor文の「3回目」だけがスキップされ、1・2・4・5の処理は実行されているのがわかります。

    ポテパンダの一言メモ

    break文は、指定した条件以降の処理を中断する
    continue文は、指定した条件だけの処理を中断する

    breakとreturnの違い

    breakとreturnは何が違うんですか?

    breakは任意の1ブロックをスキップするのに対し、returnはすべてのブロックをスキップします!

    こちらも実際に動かして確認しましょう。

    break文は「break文とcontinue文の違い」で紹介した動きと同様です。

    ここでは、returnにしたときの動きを確認します。

    ラベル付きbreak文でネストをスキップ」で紹介したときと同じように、1つ目のfor文も中断されていますね。

    breakとは異なり、returnはすべての処理をスキップできる構文です!

    ポテパンダの一言メモ

    returnは、すべてのブロックをスキップします!

    breakをswitch文で使う

    ここまで、break文をfor文、while文を使って紹介してきました。

    breakはswitch文でもよく見られる構文です。

    breakの動きは、ここまで説明してきた通りです。

    条件に当てはまったときに、処理を中断します。

    より詳しくswitch文の使い方を知りたい場合は、以下の記事を参考にしてみてください!

    【関連記事】

    ▶︎【まとめ】Javaのswitch-case文の使い方をサンプル付きで解説!

    breakの使い方まとめ

    Javaのbreak文について解説しました。

    for文やwhile文などのループ文や、switch文などでbreakは活躍します。

    使い方を覚えることで、任意の条件で処理を中断でき便利です

    ぜひこの記事を参考に、breakの使い方を覚えてみてくださいね!



    優良フリーランス案件多数掲載中!
    フリーランスエンジニアの案件をお探しなら
    ポテパンフリーランス

    この記事をシェア

    • Facebookシェア
    • Twitterシェア
    • Hatenaシェア
    • Lineシェア
    pickup









    ABOUT US

    ポテパンはエンジニアと企業の最適なマッチングを追求する企業です。

    READ MORE