
Java道|continue文のしくみと使い方
止めるのではなく、今回は飛ばす。
continue文を覚えると、繰り返し処理をもっと細かくコントロールできる。
これまで、ループの流れを変える文として break文 を学んできました。
break文 は、for文、while文、do~while文 などの繰り返し処理を途中で終了し、ループの外へ抜けるための文でした。
たとえば、10回繰り返す予定でも、5回目で目的のものが見つかったら、その時点でループを終えられます。
一方で、今回学ぶ continue文 は、ループ全体を終わらせる文ではありません。
continue文 は、現在の繰り返しの残りの処理だけを飛ばして、次の繰り返しへ進むための文です。
つまり、break文 が「ここで修行を終了する合図」だとすれば、continue文 は「今回はこの先の動きを飛ばして、次の型へ進む合図」です。
たとえば、1回目から10回目まで順番に処理している途中で、「3回目だけは表示しない」「特定の条件に合うものだけ今回は処理しない」といった動きを作りたいことがあります。
このようなときに役立つのが continue文 です。
この記事では、具体的な例示プログラムは Sample11.java のみを使い、continue文 の基本、break文 との違い、for文の中での動き、continue文 の位置による違い、使いどころや注意点までを、鬼滅の刃風の世界観にたとえながら整理します。
鬼滅の刃風にたとえると、continue文 は「この回の型だけは省略して、次の修行回へ進む」という指示です。
修行全体をやめるわけではありません。
ただ、その回の後半の動きだけを飛ばし、次の回へ移ります。
continue文とは何か
continue文 は、現在の繰り返しの残りの処理を中断して、次の繰り返しへ進む文です。
書き方はとてもシンプルです。
continue;この1文がループの中で実行されると、その回の後ろに書かれている処理は実行されません。
ただし、ループ全体が終わるわけではありません。
次の繰り返しへ進みます。
| 文 | 役割 |
|---|---|
| continue; | その回の残りの処理を飛ばして、次の繰り返しへ進む |
| break; | ループ全体を終了して、ループの外へ抜ける |
continue文 は、「この回はここまででよいので、次の回へ進もう」とJavaに伝える文です。
鬼滅の刃風にたとえると、10回の型修行をしている途中で、3回目だけ足場が悪くて後半の型を省略するようなものです。
修行そのものは続きます。
3回目だけを飛ばし、4回目の型へ進みます。
break文との違い
continue文 は break文 と見た目が似ています。
どちらもループの流れを変える文です。
ただし、動きは大きく違います。
| 文 | ループ全体 | 現在の回の後続処理 | 次の回 |
|---|---|---|---|
| break文 | 終了する | 実行しない | 進まない |
| continue文 | 終了しない | 実行しない | 進む |
break文 は、ループそのものを終わらせます。
一方、continue文 は、ループそのものは続けます。
ただし、現在の回の残りの処理だけを飛ばします。
たとえば、1から10までのループがあるとします。
| 条件 | break文の場合 | continue文の場合 |
|---|---|---|
| i が 3 になった | ループを終了する | 3回目だけ飛ばす |
| 4以降 | 実行されない | 実行される |
ここがとても重要です。
鬼滅の刃風にたとえると、break文 は「任務をここで終了して撤収する合図」です。
continue文 は「この場所の確認だけ飛ばして、次の場所へ進む合図」です。
continue文の基本イメージ
continue文 は、if文 と組み合わせて使うことが多いです。
なぜなら、「どの回を飛ばすのか」は条件で決めることが多いからです。
基本の形は次のようになります。
for(繰り返しの設定){
if(飛ばしたい条件){
continue;
}
実行したい処理;
}↓クリックすると拡大表示されます。

この形では、if文 の条件が true になった回だけ、continue文 が実行されます。
continue文 が実行されると、その下にある 実行したい処理 は、その回では実行されません。
そして、次の繰り返しへ進みます。
| 部分 | 役割 |
|---|---|
| for文 | 繰り返しを行う |
| if文 | 飛ばす条件を判定する |
| continue文 | その回の残りを飛ばす |
| continue文の下の処理 | 条件に当てはまらない回だけ実行される |
鬼滅の刃風にたとえると、if文 は「この回を飛ばすべきか判断する札」です。
continue文 は、その札が true になったときに発動する「次の回へ進め」という合図です。
図:continue文はその回だけを飛ばす
↓クリックすると拡大表示されます。

この図が示していること
この図では、continue文 が実行されたときに、その回の後続処理だけが飛ばされることを示しています。
i == skip が true になると、continue文 が実行されます。
その場合、下にある表示処理は実行されません。
ただし、ループ全体は終了せず、次の回へ進みます。
ここから分かることは、continue文 は「ループを止める文」ではなく、「今回だけ後半の処理を飛ばす文」だということです。
continue文を確認する
ここでは、入力された回数だけ、お知らせ表示を飛ばすプログラムを見ていきます。
ファイル名:Sample11.java
import java.io.*;
class Sample11
{
public static void main(String[] args) throws IOException
{
System.out.println("何回目の任務連絡を飛ばしますか?(1~10)");
BufferedReader br =
new BufferedReader(new InputStreamReader(System.in));
String str = br.readLine();
int skip = Integer.parseInt(str);
for(int i = 1; i <= 10; i++){
// 指定した回数なら、この回の残りの処理を飛ばす
if(i == skip){
continue;
}
System.out.println(i + "回目の任務連絡を表示しています。");
}
}
}このプログラムでは、for文 によって i を 1 から 10 まで変化させています。
for(int i = 1; i <= 10; i++)そして、次のif文で、現在の回数 i が、入力された skip と等しいかどうかを調べています。
if(i == skip){
continue;
}i == skip が true になった場合、その回では continue文 が実行されます。
すると、その下にある表示処理は実行されません。
System.out.println(i + "回目の任務連絡を表示しています。");つまり、指定した回数だけ表示が飛ばされます。
鬼滅の刃風にたとえると、1回目から10回目まで任務連絡を出す予定ですが、指定された回だけは「今回は連絡を省略して次へ進む」という流れになります。
3を入力した場合の実行結果
3 を入力した場合、skip の値は 3 になります。
実行例
何回目の任務連絡を飛ばしますか?(1~10)
3
1回目の任務連絡を表示しています。
2回目の任務連絡を表示しています。
4回目の任務連絡を表示しています。
5回目の任務連絡を表示しています。
6回目の任務連絡を表示しています。
7回目の任務連絡を表示しています。
8回目の任務連絡を表示しています。
9回目の任務連絡を表示しています。
10回目の任務連絡を表示しています。この結果を見ると、3回目だけが表示されていません。
ただし、4回目以降はきちんと表示されています。
ここが continue文 の大切なところです。
3回目でループが終わったのではありません。
3回目だけを飛ばして、4回目へ進んでいます。
Sample11.javaの処理の流れ
3 を入力した場合の流れを表で整理すると、次のようになります。
| i の値 | i == skip | continue文 | 表示されるか |
|---|---|---|---|
| 1 | false | 実行されない | 表示される |
| 2 | false | 実行されない | 表示される |
| 3 | true | 実行される | 表示されない |
| 4 | false | 実行されない | 表示される |
| 5 | false | 実行されない | 表示される |
| 6 | false | 実行されない | 表示される |
| 7 | false | 実行されない | 表示される |
| 8 | false | 実行されない | 表示される |
| 9 | false | 実行されない | 表示される |
| 10 | false | 実行されない | 表示される |
i が 3 のときだけ、i == skip が true になります。
そのため、continue文 が実行されます。
continue文 が実行されると、その回の下にある表示処理は飛ばされます。
しかし、for文自体は続きます。
そのため、4回目以降は通常どおり表示されます。
break文とcontinue文を並べて考える
continue文 を理解するには、break文 と並べて考えると分かりやすいです。
たとえば、i が 3 になったときに break文 を使う場合です。
for(int i = 1; i <= 10; i++){
if(i == 3){
break;
}
System.out.println(i);
}この場合、i が 3 になった時点でループ全体が終了します。
表示されるのは、1 と 2 だけです。
4以降は実行されません。
一方、continue文 の場合は次のようになります。
for(int i = 1; i <= 10; i++){
if(i == 3){
continue;
}
System.out.println(i);
}この場合、i が 3 の回だけが飛ばされます。
表示されるのは、1、2、4、5、6、7、8、9、10 です。
| 文 | i が 3 のときの動き | 4以降 |
|---|---|---|
| break文 | ループ全体を終了する | 実行されない |
| continue文 | 3回目だけを飛ばす | 実行される |
鬼滅の刃風にたとえると、break文 は「3回目で修行を終了する」動きです。
continue文 は「3回目の後半だけ省略して、4回目の修行へ進む」動きです。
図:break文とcontinue文の違い
↓クリックすると拡大表示されます。

この図が示していること
この図では、break文 と continue文 の違いを比較しています。
左側の break文 は、i が 3 になった時点でループ全体を終了します。
そのため、4以降は実行されません。
右側の continue文 は、i が 3 の回だけ表示処理を飛ばします。
ただし、ループは終わらないため、4以降は通常どおり実行されます。
ここから分かることは、break文 は「ループを終える文」、continue文 は「その回だけを飛ばす文」だということです。
continue文で次の繰り返しへ進むとはどういうことか
continue文 の説明では、「次の繰り返しへ進む」と表現します。
for文 の中で continue文 が実行された場合、基本的には次の流れになります。
| 順番 | 動き |
|---|---|
| 1 | continue文 が実行される |
| 2 | その回の残りの処理を飛ばす |
| 3 | for文の変化式へ進む |
| 4 | 条件式を確認する |
| 5 | 条件が true なら次の回を始める |
Sample11.java なら、i が 3 のときに continue文 が実行されます。
if(i == skip){
continue;
}この時点で、下の表示処理は実行されません。
System.out.println(i + "回目の任務連絡を表示しています。");そのあと、for文の i++ へ進みます。
i は 4 になり、条件 i <= 10 を確認します。
条件が true なので、4回目の処理に進みます。
つまり、continue文 は「同じ回の続きをする」のではなく、「次の回へ切り替える」文です。
鬼滅の刃風にたとえると、3回目の型の後半を省略し、すぐに4回目の型へ進むような流れです。
continue文の位置によって飛ばされる範囲が変わる
continue文 は、ループの中のどこに書くかによって、飛ばされる処理の範囲が変わります。
大切なのは、continue文 より前にある処理は実行されるということです。
一方で、continue文 より後ろにある処理は、その回では実行されません。
たとえば、次のようなコードを考えます。
for(int i = 1; i <= 5; i++){
System.out.println("前半の処理です。");
if(i == 3){
continue;
}
System.out.println("後半の処理です。");
}この場合、i が 3 のときでも、前半の処理です。 は表示されます。
しかし、continue文 が実行されるため、その下にある 後半の処理です。 は表示されません。
| i の値 | 前半の処理 | continue文 | 後半の処理 |
|---|---|---|---|
| 1 | 実行される | 実行されない | 実行される |
| 2 | 実行される | 実行されない | 実行される |
| 3 | 実行される | 実行される | 実行されない |
| 4 | 実行される | 実行されない | 実行される |
| 5 | 実行される | 実行されない | 実行される |
continue文 は、「ループ内のどこに置くか」がとても重要です。
鬼滅の刃風にたとえると、前半の型を出したあと、「今回は後半の型を省略」と判断して次の回へ進むような流れです。
continue文 の前の動きは済んでいます。
continue文 の後ろの動きだけが飛ばされます。
continue文が便利な場面
continue文 は、特定の条件に当てはまる回だけを飛ばしたいときに便利です。
| 場面 | 使い方のイメージ |
|---|---|
| 特定の番号だけ表示しない | 3回目だけ飛ばす |
| 偶数だけ処理しない | 偶数のとき continue文 を実行する |
| 不要なデータを無視する | 条件に合わないデータだけ飛ばす |
| エラー値を除外する | 異常な値の回だけ処理しない |
| 一部の処理だけ省略する | 前半は実行し、後半だけ飛ばす |
continue文 は、「全部やめる必要はないけれど、この回だけは処理したくない」という場面に向いています。
たとえば、データを順番に確認していて、空のデータだけは処理せず次へ進みたい場合があります。
このようなときに continue文 を使うと、不要な回だけを飛ばして、全体の処理は続けられます。
鬼滅の刃風にたとえると、修行場を順番に巡回しながら、使用できない訓練場だけを飛ばして次へ進むようなものです。
任務全体は続きますが、その場所だけは省略します。
continue文を使うときの注意点
continue文 は便利ですが、使い方によっては処理の流れが見えにくくなることがあります。
特に、continue文 より下にある処理がその回で実行されない点に注意が必要です。
| 注意点 | 内容 |
|---|---|
| 何を飛ばしているか分かりにくい | continue文 の下にある処理を確認する |
| 多用すると読みにくい | 本当に必要な場面で使う |
| break文と混同しやすい | ループ終了ではなく次の回へ進むと考える |
| 条件の位置が大事 | continue文 の前後で実行される処理が変わる |
| 更新処理との関係に注意する | while文では更新を飛ばすと無限ループの原因になることがある |
for文の場合、continue文 が実行されると、その後に変化式へ進みます。
しかし、while文で continue文 を使う場合は、更新処理の位置に注意が必要です。
更新処理を continue文 より後ろに置いてしまうと、その回では更新されず、条件が変わらないままになる可能性があります。
学習の最初は、まず for文 の中での動きをしっかり理解すると安心です。
continue文を読むときのポイント
continue文 を読むときは、次の順番で確認すると分かりやすくなります。
| 順番 | 見ること |
|---|---|
| 1 | どのループの中にあるか |
| 2 | どの条件で continue文 が実行されるか |
| 3 | continue文 より前に何があるか |
| 4 | continue文 より後ろに何があるか |
| 5 | continue文 のあと次の回へどう進むか |
Sample11.java なら、次のように整理できます。
| 見るポイント | 内容 |
|---|---|
| ループ | i を 1 から 10 まで進める for文 |
| continue条件 | i == skip |
| continue文 より前 | 条件判定 |
| continue文 より後ろ | 任務連絡の表示 |
| continue後 | 表示せず次の回へ進む |
この見方をすると、continue文 が何を飛ばしているのかがはっきり見えます。
continue文を学ぶ意味
continue文 を理解すると、繰り返し処理をより細かく調整できるようになります。
これまでのループ処理では、基本的に「最後まで繰り返す」か「break文でループ全体を終える」かが中心でした。
continue文 を使うと、その間のような制御ができます。
つまり、ループ全体は続けながら、特定の回だけ一部の処理を省略できます。
| continue文でできること | 内容 |
|---|---|
| その回だけ処理を飛ばす | 条件に合う回をスキップできる |
| ループ全体は続ける | break文のように終了しない |
| 不要なデータを除外する | 処理対象から外せる |
| 条件に合わない回を省く | 必要なものだけ処理しやすい |
| ループ内の流れを整理する | 早めに次の回へ進める |
continue文で特に大切なのは、次の4つです。
| 大切なこと | 内容 |
|---|---|
| continue文はその回の残りを飛ばす | 後ろの処理は実行されない |
| ループ全体は終わらない | 次の繰り返しへ進む |
| break文とは役割が違う | break文はループ終了、continue文は回のスキップ |
| continue文の位置が重要 | どこから後ろを飛ばすかが変わる |
鬼滅の刃風にたとえると、continue文 は「この回の任務確認はここまで。次の確認へ進め」という札です。
任務全体を終えるわけではありません。
ただ、その回だけを省略して、次の回へ進みます。
この考え方が身につくと、入力チェック、データ処理、条件つきの繰り返しなどで、不要な処理だけを自然に飛ばせるようになります。
