Continue文

continue文とは



`continue`文は、プログラミング言語のループ構造内で使用される制御文の一つです。ループの実行中に、特定の条件を満たした場合に、その時点でのループ内の処理を中断し、次の繰り返し処理へと移行させるために使用されます。

文法



`continue`文は、主に`for`文、`while`文、`do-while`文などの繰り返し処理を記述する構文内で利用されます。C言語C++JavaJavaScriptといった多くのプログラミング言語で共通して`continue`というキーワードが用いられます。ただし、Perlでは`next`が`continue`に相当する機能を持っています。

`continue`文が実行されると、その時点のループ本体の処理は中断され、ループの先頭に戻る動作となります。具体的な動作は、ループの種類によって若干異なります。

各ループでの動作



  • - `for`文: `continue`文が実行されると、ループ本体の残りの処理をスキップし、更新式が実行された後、条件式が評価されます。
  • - `while`文: `continue`文が実行されると、ループ本体の残りの処理をスキップし、条件式が評価されます。
  • - `do-while`文: `continue`文が実行されると、ループ本体の残りの処理をスキップし、条件式が評価されます。`do-while`文の場合、ループ本体の最後に条件判定があるため、直ちに条件判定に移ります。

誤解を招きやすい説明



入門書などでは、`continue`文の動作を正確に理解せずに、「`continue`文はループの条件式評価へ制御を移すもの」と説明されている場合があります。特に`for`文においては、「`continue`文が実行されると条件式の評価の前に更新式が実行される」といった説明がなされることもあります。しかし、これは正確な理解とは言えません。

`continue`文は、ループの先頭に戻る処理を促すものであり、条件式の評価へ直接的に制御を移すものではありません。`do-while`文の場合も、`while`文の最後尾に制御が移るのではなく、あくまでループの先頭に戻るという動作を理解することが重要です。

具体例



以下にC99`'>[C言語]での`continue`文の使用例を示します。コンマ演算子を利用して、制御の流れを視覚化します。

c

include



int main(void) {
for (int i = 0; i < 5; (printf("i: %d, ", i), i++)) {
if (i == 2) {
printf("continue
");
continue;
}
printf("loop: %d
", i);
}
return 0;
}


実行結果:


i: 0, loop: 0
i: 1, loop: 1
i: 2, continue
i: 3, loop: 3
i: 4, loop: 4


この例では、`i`が2の場合に`continue`文が実行され、その回のループ処理がスキップされ、次のループ処理に移行します。これにより、`i`が2の時の`loop: 2`が表示されないことがわかります。

まとめ



`continue`文は、ループ処理における制御構造の一部であり、ループ内の特定の処理をスキップする際に利用します。入門書などでの誤解を招きやすい説明に惑わされず、正確な動作を理解することが重要です。`continue`文を適切に利用することで、複雑なループ処理をよりシンプルに記述することができます。

関連項目



もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。