はじめに
ネストfor文までマスターしたら、次はループの制御を覚えよう!
Javaでは break
と continue
を使うことで、ループを途中で終了したり、特定の処理をスキップしたりできるんだ。
この記事では、break
と continue
の使い方、実務での活用例、ありがちなミスを整理していくよ。
🎓 break の基本
break
は、今いるループを即終了させる命令。
for (int i = 0; i < 10; i++) {
if (i == 5) {
break; // iが5になったらループ終了
}
System.out.println(i);
}
- 条件を満たした時点で、そのループを抜けたい場合に使う
- ネストforの場合は、内側のループだけ終了するのが基本
⚡ ピカチュウ例:HPが0になったらバトル終了
int hp = 50;
for (int turn = 1; turn <= 10; turn++) {
hp -= 15;
System.out.println("ターン" + turn + ": 残りHP=" + hp);
if (hp <= 0) {
System.out.println("ピカチュウは戦闘不能!バトル終了");
break;
}
}
🎯 continue の基本
continue
は、その周の処理をスキップして次のループへ進む命令。
for (int i = 1; i <= 5; i++) {
if (i % 2 == 0) {
continue; // 偶数はスキップ
}
System.out.println(i);
}
- 条件に合う場合だけ処理を飛ばしたいときに使う
- 無駄な処理を減らして効率化できる
⚡ ピカチュウ例:状態異常のときは攻撃スキップ
String[] status = {"通常", "まひ", "通常", "ねむり", "通常"};
for (int i = 0; i < status.length; i++) {
if (!status[i].equals("通常")) {
System.out.println("ターン" + (i+1) + ": 状態異常で攻撃できない!");
continue;
}
System.out.println("ターン" + (i+1) + ": ピカチュウの攻撃!");
}
🐛 よくあるエラーパターン
-
breakとcontinueの混同
- breakはループ終了、continueはスキップ。逆に書くと動作が大きく変わる
-
ネストforで外側を終了させたいのにbreakが効かない
- 通常のbreakは内側だけ終了。外側も終了させたい場合はラベル付きbreakを使う
outer: for (int i = 0; i < 3; i++) { for (int j = 0; j < 3; j++) { if (i == 1 && j == 1) { break outer; // 外側のループも終了 } System.out.println(i + "," + j); } }
-
continue後の処理抜け
- continue以降の処理がスキップされることを忘れて必要な処理が行われない
🪄 次回予告
次は 複数変数と更新式のカスタマイズ!一度に2つのカウンタを動かす方法や、変化量を自由に設定するテクニックを紹介するよ!
ピッピカチュウ!!
あとがき
ここまで読んでくれて、本当にありがとうございました。
「プログラミングって難しい…」って思ってた人も、
「ちょっと楽しいかも…!」って思ってもらえたらうれしいな。
次の投稿も、よろしくおねがいします。
💬 コメント・フィードバック歓迎!
「この章わかりやすかった!」
「これ表現まちがってない?」
「次は○○をやってほしい!」などなど、
お気軽にコメントで教えてくださいね!