はじめに
Java のループ処理で欠かせないのが
break と continue。
- break:ループを抜ける
- continue:その回の処理をスキップする
というイメージはあるものの、
実際の挙動やネスト時の動きは意外と誤解されがちです。
この記事では、やさしく・実務寄りに
break / continue の挙動を整理していきます。
break の基本:ループを抜ける
Java
for (int i = 0; i < 5; i++) {
if (i == 3) {
break;
}
System.out.println(i);
}出力:
0
1
2
i が 3 になった時点で
ループ全体を終了 します。
break が効く範囲
- 最も内側のループだけ を抜ける
- 外側のループには影響しない
例:ネストしたループ
Java
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
if (j == 1) break;
System.out.println(i + "-" + j);
}
}出力:
0-0
1-0
2-0
内側のループだけ break され、外側は続く。
switch 文でも break は使われる
Java
switch (n) {
case 1:
System.out.println("One");
break;
case 2:
System.out.println("Two");
break;
}break がないと fall-through するため、
switch でも break は重要。
continue の基本:その回だけスキップ
Java
for (int i = 0; i < 5; i++) {
if (i == 3) {
continue;
}
System.out.println(i);
}出力:
0
1
2
4
i が 3 のときだけ
本体をスキップして次のループへ。
continue の挙動(for 文の場合)
本体をスキップ → 更新式 → 条件式 → 次のループへ
更新式は実行される点がポイント。
while / do-while の continue は少し違う
while の場合
continue → 条件式へ戻る
do-while の場合
continue → 更新処理(本体の末尾) → 条件式
ループの種類によって戻り先が違うため、
continue の使い方には注意が必要。
break / continue の違いまとめ
| 構文 | 動作 | 影響範囲 |
|---|---|---|
| break | ループを抜ける | 最も内側のループのみ |
| continue | その回の処理をスキップ | ループは継続 |
よくあるミスと注意点
ミス①:break が外側のループまで抜けると思ってしまう
Java
break; // 内側だけ外側まで抜けたい場合は ラベル付き break を使う。
Java
outer:
for (...) {
for (...) {
break outer; // 外側のループを抜ける
}
}ミス②:continue で更新式が飛ばされると思う
for 文では continue しても更新式は実行される。
Java
for (int i = 0; i < 5; i++) {
continue; // i++ は実行される
}ミス③:switch の break を忘れて fall-through する
Java
case 1:
...
case 2:
... // 意図せず実行されるswitch では break が必須。
実務での使い分け
break が向いている場面
- 条件を満たしたらループを終了したい
- 検索処理(見つかったら終わり)
- switch 文の制御
continue が向いている場面
- 特定の条件だけスキップしたい
- 不要なデータを飛ばして処理したい
- ネストを浅くしたい(早期スキップ)
まとめ
break
- ループを抜ける
- 内側のループだけ
- switch でも使う
continue
- その回だけスキップ
- ループは継続
- for 文では更新式が実行される

decopon
break / continue は、 「抜ける」か「スキップ」かの違いを理解するだけで 一気に読みやすく、安全に使えるようになります。特にネストしたループでは挙動が複雑になりがちなので、 今回のまとめが読者の助けになるはずです。あなたの学びが、次のステップにつながりますように。

moco
break は“ここで終わり”、
continue は“今回はパス”。
このイメージで読むと、ループがぐっとわかりやすくなるよ。

コメント