Java continue 语句
continue 语句用于在循环中跳过当前一次迭代进入下一次迭代。在本教程中,,我们通过示例介绍在 Java 中如何使用 continue 语句。
在本教程中,,我们通过示例介绍在 Java 中如何使用 continue 语句。
在使用循环时,有时需要跳过循环内的某些语句或立即终止循环,在这种情况下,可以使用 break
和 continue
语句。
要了解 break
语句,请访问 Java break 语句。在这里,我们将了解 continue
语句。
Java continue
continue
语句将跳过 for
, while
, do...while
循环的当前迭代,进入下一次迭代。
continue 语句几乎总是与 Java 条件语句一起使用。
continue 语句工作原理
示例 1:Java continue 语句
public class Main {
public static void main(String[] args) {
for (int i = 1; i <= 10; ++i) {
// 4 和 9 之间的值将被跳过
if (i > 4 && i < 9) {
continue;
}
System.out.println(i);
}
}
}
输出:
1
2
3
4
9
10
在上面的程序中,我们使用 for 循环在每次迭代中打印 i
。注意以下语句:
if (i > 4 && i < 9) {
continue;
}
在这里,当 i
值大于 4
且小于 9
时的 continue
语句导致跳过这些值的打印语句。因此,不会打印 5、6、7 和 8。
示例 2:计算 5 个正数的总和
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
double number, sum = 0.0;
Scanner input = new Scanner(System.in);
for (int i = 1; i < 6; ++i) {
System.out.print("Enter number " + i + " : ");
// 从用户输入获取浮点数
number = input.nextDouble();
// 如果输入负数则跳过
if (number <= 0.0) {
continue;
}
sum += number;
}
System.out.println("Sum = " + sum);
input.close();
}
}
输出:
输入数字 1 : 1.3
输入数字 2 : 2.4
输入数字 3 : -1
输入数字 4 : 2
输入数字 5 : 1
Sum = 6.7
在上面的例子中,我们使用了 for 循环来打印 5 个正数的总和。注意这几行代码:
if (number < 0.0) {
continue;
}
这里,当用户输入负数时, continue
语句被执行。这将跳过循环的当前迭代并将程序控制权交给循环的更新表达式。
注意:为了从用户那里获取输入,我们使用了 Scanner
对象。要了解更多信息,请访问Java Scanner。
嵌套循环中的 continue
在嵌套循环中, continue
语句会跳过最内层循环的当前迭代。
示例 3:嵌套循环中的 continue
public class Main {
public static void main(String[] args) {
int i = 1, j = 1;
// 外循环
while (i <= 3) {
System.out.println("外循环: " + i);
// 内循环
while(j <= 3) {
if(j == 2) {
j++;
continue;
}
System.out.println("内循环: " + j);
j++;
}
i++;
}
}
}
输出:
外循环: 1
内循环: 1
内循环: 3
外循环: 2
外循环: 3
在上面的例子中,我们使用了嵌套的 while 循环。请注意,我们在内部循环中使用了 continue
语句。
if(j == 2) {
j++;
continue:
}
这里,当值 j
是 2
时, j 的值增加并执行 continue
语句。这会跳过内部循环的迭代。
带标签的 continue 语句
Java 中的 continue
语句还可以和代码标签结合,以跳过标签所在的循环的当前迭代。
它包括 continue
关键字和循环标签。语法如下:
continue labelName;
这里, continue
语句跳过由 labelName
指定标签的循环的当前迭代。
我们可以看到标签标识符指定了外循环。注意在内循环中使用 continue 。
在这里, continue
语句跳过标签循环的当前迭代(即外循环)。然后,程序控制转到标签循环的下一次迭代。
示例 4: continue 与 标签
public class LabeledContinue {
public static void main(String[] args) {
// 外循环的标签是 first
first:
for (int i = 1; i < 6; ++i) {
// 内循环
for (int j = 1; j < 5; ++j) {
if (i == 3 || j == 2) {
// 跳过外循环的当前迭代
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
在上面的例子中,continue first;
语句用于跳过标签为 first
的循环的当前迭代.
if (i==3 || j==2) {
continue first;
}
在这里,我们可以看到最外层的 for
循环被标记为 first
标签,
first:
for (int i = 1; i < 6; ++i) {..}
注意: 通常不鼓励 continue
使用标签,因为它会使您的代码难以理解。如果您已经使用了标签,请重构您的 continue
代码并尝试以不同的方式解决它以使其更具可读性。