Javaのbreak文の使い方を現役エンジニアが解説【初心者向け】
初心者向けにJavaのbreak文の使い方について解説しています。最初に、for文とwhile文の基本を説明します。次にbreakを使ったループ中断の書き方、実行した場合の処理の流れ、continue文との違いについて見ていきましょう。
テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日 調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名 調査手法:インターネット調査
Javaのbreak文の使い方について、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して初心者向けに解説します。for文やwhile文についてもかんたんなおさらいをするので、Java初心者の方でも理解できると思うので、手を動かしながら読んでみてください。
Javaについてそもそもよく分からないという方は、Javaとは何なのか解説した記事を読むとさらに理解が深まります。
なお本記事は、TechAcademyのオンラインブートキャンプ、Java講座の内容をもとに作成しています。
今回は、Javaに関する内容だね!
どういう内容でしょうか?
break文の使い方について詳しく説明していくね!
お願いします!
break文とは
まず、break文について説明する前に、for文とwhile文についてかんたんにおさらいします。for文は、条件によって処理を変えたい場合に使われる構文で、
for(初期化式; 条件式; 変化式){処理内容}
for文は変数を初期化して、処理内容を一回終えると変数を変化させて、その変数が条件を満たす場合はまたおなじ処理を繰り返す、というように何らかの変数を使ってループ処理を記述します。
for文は次のようにして、特定の回数分だけ処理を繰り返したいときなどに使われます。
for (i=0; i<10; ++i){処理内容}
この場合には、iが1回処理を終えるごとに1ずつ増えていくので、合計10回同じ処理を繰り返すことになります。
一方、while文は次のように記述します。
while(条件式){処理内容}
見てわかるように、while文の場合は、for文の場合とは異なり、必ずしも変数を使う必要はありません。while文は、次のようにTrueを条件式の部分に持ってくることで、ずっと同じ処理を繰り返したい場合などによく使われます。
while (True){処理内容}
これらのfor文やwhile文の記述方法では、ある特定の条件の場合に処理を中断することは難しいです。
しかし実際のプログラミングでは、何らかのエラーや条件に当てはまるときには、処理を中断したい場合があります。そのようなときに活躍するのがbreak文という構文です。
break文は、for文やwhile文中の好きな場所に置くことができて、if文と組み合わせることで、条件に応じて処理を中断することができます。
break文の使い方
break文の具体的な記述方法は至ってシンプルで、for文やwhile文の好きな位置に記述するだけです。while文では、if文と組み合わせる場合には次のように記述します。
while(条件式){ if(whileループを抜ける場合の条件式) break; 処理内容 }
この構文で、while文の条件式を次のようにTrueにしておくことで、何かが発生したときだけループ処理を中断することができます。
while(True){ if(whileループを抜ける場合の条件式) break; 処理内容 }
for文をbreak文で抜ける方法
一重のfor文の場合には、while文と使い方はほとんど同じで、
for(初期化式; 条件式; 変化式){ if(forループを抜ける場合の条件式) break; 処理内容 }
のようにして記述します。
二重ループをbreak文で抜ける方法
一重のループ処理の場合はbreak文の使い方がwhile文と同じでしたが、for文を入れ子構造にする二重ループや、それいじょうの多重ループではbreak文の扱いにすこし注意が必要です。
例えば、次のように1つ目のfor文の中の2つ目のfor文でbreak文を使うと、単純に2つ目のfor文を抜けるだけで、全体としてforループは止まりません。
for(初期化式; 条件式; 変化式){ for(初期化式; 条件式; 変化式){ if(forループを抜ける場合の条件式) break; 処理内容 } }
そこで、入れ子構造になっている多重のfor文を抜けるために、「ラベル付きfor文」というものを使います。これは、for文に「ラベル」(「名前」のことだと思ってもらって大丈夫です)をつけて、break文を使う際にfor文を指定するという構文です。
次のように記述します。
ラベル: for(初期化式; 条件式; 変化式){ //for文の名前を指定 for(初期化式; 条件式; 変化式){ if(forループを抜ける場合の条件式) break ラベル; //抜けるfor文を指定 処理内容 } }
ラベルの部分は自分の好きな名前で構いません。例えば、loop1という名前をつけるとすると、
loop1: for(初期化式; 条件式; 変化式){ //for文の名前をloop1に指定 for(初期化式; 条件式; 変化式){ if(forループを抜ける場合の条件式) break loop1; //抜けるfor文をloop1に指定 処理内容 } }
のようになります。
break文とcontinue文の違い
break文と似たような構文にcontinue文があります。continue文の場合は、for文の場合とは異なり、ループ処理を中断するのではなく、1回だけスキップします。continue文の使い方はbreak文と同じように、while文の場合は、
while(条件式){ if(whileループを1回スキップする場合の条件式) continue; 処理内容 }
for文の場合は、
for(初期化式; 条件式; 変化式){ if(forループを1回スキップする場合の条件式) continue; 処理内容 }
のように記述します。処理をやめたい場合はbreak文を、処理を一回だけスキップしたい場合はcontinue文を使うことに注意してください。
以上、Javaにおけるbreak文の使い方について解説しました。break文を使えば、Javaでできることの幅が広がるので覚えておくと良いでしょう。
監修してくれたメンター
メンターOS
AIプログラミングを使って開発を行う。プログラミング歴は約3年。Pythonは割と好きな方。JavaもAndroid開発で触れていたりする。 大学では物理学を勉強中。好きな物理理論は一般相対性理論らしい。 意外と動物が好きだったり、、、。 |
内容分かりやすくて良かったです!
ゆかりちゃんも分からないことがあったら質問してね!
分かりました。ありがとうございます!
TechAcademyでは、初心者でも、JavaやServletの技術を使ってWebアプリケーション開発を習得できる、オンラインブートキャンプを開催しています。
また、現役エンジニアから学べる無料体験も実施しているので、ぜひ参加してみてください。