Javaのbreakとcontinueの違いとは?ループを止める・スキップする方法

本記事は、Schooの「Java入門 初級【2026年版】」第4回「繰り返し処理」を学んだあとに、breakとcontinueがループの流れをどう変えるのかを整理したい方向けのステップアップ学習記事です。
ただし、Schooを受講していない方でも、Javaのfor文とif文を学び始めたばかりであれば読み進められる内容にしています。
Schoo コースページ:Java入門 初級【2026年版】
breakはループ全体をその場で終わらせ、continueは今の周の残りだけを飛ばして次の周へ進めます。どちらも「ここから下の処理を実行しない」という点は同じですが、そのあと進む場所が違います。
continueはその周の残りをスキップする
次の例では、iが奇数のときにcontinueします。continueが実行されると、その下にあるSystem.out.printlnは実行されません。ただし、ループ自体は終わらないため、次のiへ進みます。
ファイル名: ContinueSample.java
public class ContinueSample {
public static void main(String[] args) {
for (int i = 1; i <= 5; i++) {
if (i % 2 != 0) {
continue;
}
System.out.println("偶数:" + i);
}
}
}
実行結果
偶数:2 偶数:4
iが1、3、5のときは表示処理を通らず、2、4のときだけ表示されます。continueは「ループを終える」命令ではなく、「今の周をここで切り上げる」命令です。
breakはループそのものを抜ける
次の例では、iが4になったらbreakします。breakが実行されると、for文の続きは実行されず、ループの後にある処理へ進みます。
ファイル名: BreakSample.java
public class BreakSample {
public static void main(String[] args) {
for (int i = 1; i <= 10; i++) {
if (i == 4) {
break;
}
System.out.println(i);
}
System.out.println("ループを終了しました。");
}
}
実行結果
1 2 3 ループを終了しました。
iが4の周では、breakの直後にfor文を抜けます。そのため4は表示されず、5以降の周も実行されません。
breakとcontinueの進み方を比べる
同じif文の中に書いても、breakとcontinueでは進む先が変わります。下のツールで、条件に当たったときの流れを比べてみましょう。
条件に当たったときの命令
1〜6で実行される流れ
書く順番によって結果が変わる
continueやbreakの前にある処理は実行されますが、後にある処理は実行されません。条件に当てはまる値を「表示してから飛ばす」のか、「表示せず飛ばす」のかで、命令を書く位置が変わります。
System.out.println(i); continue;
この順番なら、表示してから次の周へ進みます。
continue; System.out.println(i);
この順番では、continueの後にある表示処理には進みません。実際のJavaでは、このように必ず到達できない文を書くとコンパイルエラーになる場合があります。
よくある混同
continueは終了ではありません。今の周を切り上げたあと、次の周の条件判定へ進みます。breakは今の周だけでなく、ループ全体を終わらせます。
また、if文だけではループは止まりません。「条件に当たったら終わる」と決めたい場合は、if文の中にbreakを書く必要があります。
確認問題
- 1〜10のうち3の倍数を表示しないfor文を書いてください。
- 1〜10を順に表示し、7になったらループを終えるfor文を書いてください。
continueとbreakの後にある処理はどうなりますか。
演習後の確認:こちらのページを使って、自分で考えた内容を見直せます。
あわせて読みたい関連記事
まとめ
continueは現在の周だけを切り上げ、次の周へ進みます。breakはループ全体を終わらせ、ループの後にある処理へ進みます。
どちらを使うか迷ったら、条件に当たったあとに「次の周を続けたいのか」「もうループを終えたいのか」を言葉にしてから選びましょう。