Javaのcontinue文
Javaのcontinue文は、ループの現在の繰り返しをスキップするために使用されます。Javaでは、continue文はfor文、while文、do-while文と共に使用することができます。
Javaのcontinue文
ネストされたループでcontinue文を使用すると、内側のループの現在の実行のみがスキップされます。Javaのcontinue文は、外側のループの現在の繰り返しもスキップするためにラベルと一緒に使用することができます。いくつかのcontinue文のJava例を見てみましょう。
Javaのforループを続ける
以下の通り日本語で言い換えると、
整数の配列があるとしましょう。ここで、偶数のみを処理したい場合、奇数の処理をスキップするためにcontinueループを使用することができます。
package com.scdev.java;
public class JavaContinueForLoop {
public static void main(String[] args) {
int[] intArray = { 1, 2, 3, 4, 5, 6, 7 };
// we want to process only even entries
for (int i : intArray) {
if (i % 2 != 0)
continue;
System.out.println("Processing entry " + i);
}
}
}
Javaの while ループを続ける
仮に配列があり、インデックス番号が3で割り切れる要素のみを処理したいとします。ここでは、Javaのcontinue文とwhileループを使用して処理することができます。
package com.scdev.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のラベルを使った例を見てみましょう。この例では二次元配列を使用し、全ての要素が正の数の場合にのみ要素を処理します。」
package com.scdev.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) {
// process the array
System.out.println("Processing the array of all positive ints. " + Arrays.toString(intArr[i]));
}
allPositive = true;
}
}
}
Javaの重要なポイントを続けてください。
「Javaのcontinue文についての重要なポイントは次のとおりです。」
-
- 簡単な場合、continue文はif-else条件で簡単に置き換えることができますが、複数のif-else条件がある場合は、continue文を使用することでコードがより読みやすくなります。
- continue文は、入れ子になったループや特定のレコードの処理をスキップする際に便利です。
以下のリンク先で、詳しく説明したJavaの「continue文」に関する短いビデオを作成しましたので、ぜひご覧ください。https://www.youtube.com/watch?v=udqWkqhc2kw参考文献:Oracleドキュメント