Java continue ステートメント
Java continue ステートメント
このチュートリアルでは、Java の continue ステートメントとラベル付き continue ステートメントについて、例を使って学習します。
ループを操作しているときに、いくつかのステートメントをスキップしたり、ループを終了したりしたい場合があります。そのような場合は break
と continue
break
について学ぶ ステートメント、Java ブレークにアクセスしてください。ここでは、continue
について学習します。
Java 続行
continue
ステートメントは、ループの現在の反復をスキップします (for
、 while
、 do...while
など)
continue
の後 ステートメントを実行すると、プログラムはループの最後に移動します。そして、テスト式が評価されます (for ループの場合は update ステートメントが評価されます)。
continue ステートメントの構文は次のとおりです。
continue;
注意 :continue ステートメントは、ほとんどの場合、意思決定ステートメント (if...else ステートメント) で使用されます。
Java continue ステートメントの動作
<図>
例 1:Java の continue ステートメント
class Main {
public static void main(String[] args) {
// for loop
for (int i = 1; i <= 10; ++i) {
// if value of i is between 4 and 9
// continue is executed
if (i > 4 && i < 9) {
continue;
}
System.out.println(i);
}
}
}
出力 :
1 2 3 4 9 10
上記のプログラムでは、for
を使用しています。 i の値を出力するためのループ 各反復で。 for
の方法を知る ループが機能する場合は、Java for loop にアクセスしてください。声明に注目してください、
if (i > 4 && i < 9) {
continue;
}
ここでは、continue
i の値が 4 以上になる 9 未満 .
次に、それらの値の print ステートメントをスキップします。したがって、出力は値 5 をスキップします 、6 、7 、および 8 .
例 2:5 つの正の数の合計を計算する
import java.util.Scanner;
class Main {
public static void main(String[] args) {
Double number, sum = 0.0;
// create an object of Scanner
Scanner input = new Scanner(System.in);
for (int i = 1; i < 6; ++i) {
System.out.print("Enter number " + i + " : ");
// takes input from the user
number = input.nextDouble();
// if number is negative
// continue statement is executed
if (number <= 0.0) {
continue;
}
sum += number;
}
System.out.println("Sum = " + sum);
input.close();
}
}
出力 :
Enter number 1: 2.2 Enter number 2: 5.6 Enter number 3: 0 Enter number 4: -2.4 Enter number 5: -3 Sum = 7.8
上記の例では、for ループを使用して 5 つの正の数値の合計を出力しました。行に注意してください、
if (number < 0.0) {
continue;
}
ここで、ユーザーが負の数を入力すると、continue
ステートメントが実行されます。これにより、ループの現在の繰り返しがスキップされ、プログラム制御がループの更新式に移ります。
注意 :ユーザーからの入力を取得するために、 Scanner
を使用しました 物体。詳細については、Java スキャナーにアクセスしてください。
Java はネストされたループを続行します
Java のネストされたループの場合、continue
ステートメントは、最も内側のループの現在の反復をスキップします。

例 3:ネストされたループを続ける
class Main {
public static void main(String[] args) {
int i = 1, j = 1;
// outer loop
while (i <= 3) {
System.out.println("Outer Loop: " + i);
// inner loop
while(j <= 3) {
if(j == 2) {
j++;
continue;
}
System.out.println("Inner Loop: " + j);
j++;
}
i++;
}
}
}
出力
Outer Loop: 1 Inner Loop: 1 Inner Loop: 3 Outer Loop: 2 Outer Loop: 3
上記の例では、ネストされた while ループを使用しました。 continue
を使用していることに注意してください 内側のループ内のステートメント。
if(j == 2) {
j++;
continue:
}
ここで、j の値が 2 です 、j の値 増加し、continue
ステートメントが実行されます。
これにより、内側のループの繰り返しがスキップされます。したがって、テキスト Inner Loop:2 出力からスキップされます。
ラベル付き継続ステートメント
これまで、ラベルのない continue
を使用してきました 声明。ただし、continue
には別の形式があります。 labeled continue として知られる Java のステートメント .
continue
とともにループのラベルが含まれます キーワード。たとえば、
continue label;
ここでは、continue
ステートメントは、label で指定されたループの現在の繰り返しをスキップします .

ラベル識別子が外側のループを指定していることがわかります。内側のループ内での continue の使用に注意してください。
ここでは、continue
ステートメントは、ラベル付けされたステートメント (つまり、外側のループ) の現在の反復をスキップしています。次に、プログラム制御は、ラベル付けされたステートメントの次の反復に移動します。
例 4:ラベル付きの continue ステートメント
class Main {
public static void main(String[] args) {
// outer loop is labeled as first
first:
for (int i = 1; i < 6; ++i) {
// inner loop
for (int j = 1; j < 5; ++j) {
if (i == 3 || j == 2)
// skips the current iteration of outer loop
continue first;
System.out.println("i = " + i + "; j = " + j);
}
}
}
}
出力 :
i = 1; j = 1 i = 2; j = 1 i = 4; j = 1 i = 5; j = 1
上記の例では、labeled continue
ステートメントは、first とラベル付けされたループの現在の繰り返しをスキップするために使用されます .
if (i==3 || j==2)
continue first;
ここでは、最も外側の for
を見ることができます ループには first というラベルが付けられています 、
first:
for (int i = 1; i < 6; ++i) {..}
したがって、外側の for
の繰り返し i の値が 3 または j の値 は 2 です。
注意 :ラベル付き continue
の使用 コードが理解しにくくなるため、多くの場合推奨されません。ラベル付きの continue
を使用しなければならない状況にある場合 、コードをリファクタリングし、別の方法で解決して読みやすくします。
Java