デジタルトレンドナビ
システム開発

2024.06.04

Javaのcontinue文の使い方と実例

Javaプログラミングにおいて、ループ制御は非常に重要なスキルです。ループの中で特定の条件を満たしたときに次の反復処理にスキップする方法として、continue文がよく使われます。


本記事では、Javaのcontinue文について、その基本的な概念から実際の使用例、さらにベストプラクティスに至るまでを詳しく解説します。この記事を読み終えるころには、continue文を効果的に使いこなすための知識が身につくでしょう。

continue文とは

Javaのcontinue文は、ループ内で特定の条件を満たしたときに現在のループ反復処理をスキップして、次の反復処理に移行するために使用されます。

これは、ループの特定の部分をスキップしたい場合や、特定の条件が満たされた場合にその後の処理を行わないようにするために便利です。continue文は主にforループ、whileループ、およびdo-whileループ内で使用されます。

continue文の基本概念

continue文は、ループ内で特定の条件が満たされたときに、その条件以降の処理をスキップして次のループ反復に進むために使用されます。例えば、ループ内で特定の値を無視したい場合などに利用されます。以下はcontinue文の基本的な使用例です。

java
for (int i = 0; i < 10; i++) {
if (i % 2 == 0) {
continue; // 偶数の場合、次の反復にスキップ
}
System.out.println(i);
}

このコードでは、0から9までの数値をループし、偶数の場合にはcontinue文によって出力をスキップしています。出力結果は1, 3, 5, 7, 9となります。

continue文の基本構文

continue文の基本構文は非常にシンプルです。以下に基本構文を示します。

java
continue;

この単純な構文により、continue文が記述された場所から次のループ反復に進みます。ループ内のどこにでも配置できますが、通常はif文や条件分岐の内部で使用されます。

例として、forループ内での使用を以下に示します。

java
for (int i = 0; i < 10; i++) {
if (i % 3 == 0) {
continue; // 3の倍数の場合、次の反復にスキップ
}
System.out.println(i);
}

このコードでは、0から9までの数値をループし、3の倍数の場合にはcontinue文によって出力をスキップしています。出力結果は1, 2, 4, 5, 7, 8となります。

continue文の使い方

continue文の使い方は多岐にわたりますが、ここでは具体的な例を挙げて説明します。forループ、whileループ、ネストループの中でcontinue文がどのように使われるかを見ていきます。

簡単な例

continue文の基本的な使い方を簡単な例で示します。例えば、1から10までの数字をループして、偶数をスキップして出力するコードです。

java
for (int i = 1; i <= 10; i++) {
if (i % 2 == 0) {
continue; // 偶数の場合、次の反復にスキップ
}
System.out.println(i);
}

このコードは、1から10までの数字をループし、偶数の場合にはcontinue文によって出力をスキップします。出力結果は1, 3, 5, 7, 9となります。

forループでの使用例

forループでのcontinue文の使用例を示します。以下のコードは、1から10までの数字をループし、3の倍数をスキップして出力します。

java
for (int i = 1; i <= 10; i++) {
if (i % 3 == 0) {
continue; // 3の倍数の場合、次の反復にスキップ
}
System.out.println(i);
}

このコードでは、1から10までの数字をループし、3の倍数の場合にはcontinue文によって出力をスキップしています。出力結果は1, 2, 4, 5, 7, 8, 10となります。

whileループでの使用例

whileループでもcontinue文を使用することができます。以下にその例を示します。1から10までの数字をループし、5以上の数字をスキップして出力するコードです。

java
int i = 1;
while (i <= 10) {
if (i >= 5) {
i++;
continue; // 5以上の場合、次の反復にスキップ
}
System.out.println(i);
i++;
}

このコードでは、1から10までの数字をループし、5以上の場合にはcontinue文によって出力をスキップします。出力結果は1, 2, 3, 4となります。

ネストループでの使用例

ネストループ内でもcontinue文は有用です。以下の例では、2重のforループを使い、特定の条件で内側のループをスキップする方法を示します。

java
for (int i = 1; i <= 3; i++) {
for (int j = 1; j <= 3; j++) {
if (i == j) {
continue; // iとjが同じ場合、内側のループをスキップ
}
System.out.println(“i = ” + i + “, j = ” + j);
}
}

このコードでは、iとjが同じ場合に内側のループの現在の反復をスキップし、次の反復に進みます。出力結果は以下の通りです。

css
i = 1, j = 2
i = 1, j = 3
i = 2, j = 1
i = 2, j = 3
i = 3, j = 1
i = 3, j = 2

continue文の注意点とベストプラクティス

continue文は非常に便利な制御文ですが、使用する際にはいくつかの注意点があります。また、ベストプラクティスを守ることで、より効率的で読みやすいコードを書くことができます。このセクションでは、continue文を使用する際の注意点とベストプラクティスについて詳しく説明します。

注意点

continue文を使用する際には、以下の点に注意する必要があります。

  1. 読みやすさの低下
    continue文を多用すると、コードの流れがわかりにくくなり、読みやすさが低下する可能性があります。特にネストループ内で使用する場合は、ループの流れを追うのが難しくなることがあります。
  2. 無限ループのリスク
    whileループやdo-whileループでcontinue文を使用する場合、ループの条件が更新されないと無限ループに陥るリスクがあります。必ずループの条件が適切に更新されるように注意しましょう。
  3. コードの意図を明確に
    continue文を使用する際には、その意図を明確にするためにコメントを追加することが推奨されます。特に複雑な条件で使用する場合は、コメントで説明することで、他の開発者がコードを理解しやすくなります。

以下は、continue文を適切に使用した例です。

java
int i = 0;
while (i < 10) {
i++;
if (i % 2 == 0) {
continue; // 偶数の場合、次の反復にスキップ
}
System.out.println(i);
}

このコードでは、偶数の場合にcontinue文を使用して次の反復にスキップしていますが、ループの条件が適切に更新されているため無限ループにはなりません。

ベストプラクティス

continue文を使用する際のベストプラクティスは以下の通りです。

  1. シンプルな条件で使用する
    continue文を使用する条件はできるだけシンプルに保ちましょう。複雑な条件を使用すると、コードの可読性が低下する可能性があります。
  2. 適切なコメントを追加する
    continue文を使用する意図が明確になるように、適切なコメントを追加することが重要です。これにより、他の開発者がコードを理解しやすくなります。
  3. ループの早期終了を考慮する
    continue文を使用する代わりに、ループの早期終了を検討することも一つの方法です。場合によっては、continue文を使用するよりもコードが簡潔でわかりやすくなることがあります。

以下は、continue文のベストプラクティスを考慮した例です。

java
for (int i = 1; i <= 10; i++) {
if (i % 3 == 0) {
// 3の倍数の場合、次の反復にスキップ
continue;
}
System.out.println(i);
}

このコードでは、3の倍数の場合にcontinue文を使用して次の反復にスキップしています。条件がシンプルで、意図が明確にコメントされています。

まとめ

Javaのcontinue文は、ループ内で特定の条件を満たしたときに現在のループ反復処理をスキップして次の反復処理に移行するために使用される便利な制御文です。

本記事では、continue文の基本概念から使い方、注意点とベストプラクティスまでを詳しく解説しました。ここでは、この記事の要点を振り返り、次に学ぶべき制御文について触れます。

この記事の要点

  • continue文の基本概念: continue文はループ内で特定の条件が満たされたときに次の反復処理にスキップするために使用されます。
  • 基本構文と使用例: forループ、whileループ、ネストループなど、様々なループ構造で使用できます。具体的なコード例を通じて理解しました。
  • 注意点: 無限ループに陥らないようにすること、コードの可読性を損なわないようにすることが重要です。
  • ベストプラクティス: シンプルな条件で使用する、適切なコメントを追加する、ループの早期終了を検討するなどのポイントを押さえました。

次に学ぶべき制御文

continue文に続いて、他の制御文についても学ぶことで、Javaプログラミングの理解をさらに深めることができます。特に、以下の制御文について学ぶことをお勧めします。

  • break文: ループ全体を終了するために使用されます。特定の条件が満たされたときにループを抜け出す方法を学びましょう。
  • return文: メソッドを終了して値を返すために使用されます。メソッドの制御フローを理解するために重要です。
  • if-else文: 条件分岐を行うために使用されます。複雑な条件分岐を処理する方法を学ぶことができます。

これらの制御文を理解することで、より効率的で読みやすいコードを書くことができるようになります。引き続き学習を進めていきましょう。

投稿者

  • デジタルトレンドナビ編集部

    システム開発、Webサイト制作、ECサイトの構築・運用、デジタルトランスフォーメーション(DX)など、デジタルビジネスに関わる多岐の領域において、最新のトレンド情報や実践的なノウハウを発信してまいります。