Javaのcontinueステートメントは、ループの現在の反復をスキップするために使用されます。Javaのcontinueステートメントは、for
、while
、do-while
ループと共に使用できます。
Javaのcontinueステートメント
continueステートメントがネストされたループで使用される場合、それは内側のループの現在の実行のみをスキップします。Javaのcontinueステートメントは、ラベルと組み合わせて外側のループの現在の反復をスキップするためにも使用できます。いくつかのcontinueのJavaステートメントの例を見てみましょう。
Javaのcontinue for loop
たとえば、整数の配列があるとし、偶数のみを処理したい場合、ここではcontinueループを使用して奇数の処理をスキップできます。
package com.journaldev.java;
public class JavaContinueForLoop {
public static void main(String[] args) {
int[] intArray = { 1, 2, 3, 4, 5, 6, 7 };
// 偶数のエントリのみを処理したい
for (int i : intArray) {
if (i % 2 != 0)
continue;
System.out.println("Processing entry " + i);
}
}
}
Javaのcontinue while loop
たとえば、配列があり、インデックス番号が3で割り切れる場合にのみ処理したい場合、ここではwhileループを使用してJavaのcontinueステートメントを使用できます。
package com.journaldev.java;
public class JavaContinueWhileLoop {
public static void main(String[] args) {
int[] intArray = { 0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100 };
int i = 0;
while (i < 10) {
if (i % 3 != 0) {
i++;
continue;
}
System.out.println("Processing Entry " + intArray[i]);
i++;
}
}
}
Javaのdo-whileループを続ける
上記のwhileループコードを簡単に以下のようにdo-whileループで置き換えることができます。continue文の結果と効果は上記の画像と同じです。
do {
if (i % 3 != 0) {
i++;
continue;
}
System.out.println("Processing Entry " + intArray[i]);
i++;
} while (i < 10);
Javaのラベルを続ける
外側のループ処理をスキップするためのJavaのラベル継続の例を見てみましょう。この例では、2次元配列を使用し、すべての要素が正の数である場合にのみ要素を処理します。
package com.journaldev.java;
import java.util.Arrays;
public class JavaContinueLabel {
public static void main(String[] args) {
int[][] intArr = { { 1, -2, 3 }, { 0, 3 }, { 1, 2, 5 }, { 9, 2, 5 } };
process: for (int i = 0; i < intArr.length; i++) {
boolean allPositive = true;
for (int j = 0; j < intArr[i].length; j++) {
if (intArr[i][j] < 0) {
allPositive = false;
continue process;
}
}
if (allPositive) {
// 配列を処理する
System.out.println("Processing the array of all positive ints. " + Arrays.toString(intArr[i]));
}
allPositive = true;
}
}
}
Javaのcontinueの重要なポイント
Javaのcontinue文に関するいくつかの重要なポイントは次のとおりです。
- 単純な場合には、continue文をif-else条件で簡単に置き換えることができますが、複数のif-else条件がある場合は、continue文を使用するとコードがより読みやすくなります。
- ネストされたループや特定のレコードの処理をスキップする際に、continue文が便利です。
I have made a short video explaining java continue statement in detail, you should watch it below. https://www.youtube.com/watch?v=udqWkqhc2kw Reference: Oracle Documentation
Source:
https://www.digitalocean.com/community/tutorials/java-continue-statement