Java continue 语句

continue 语句用于在循环中跳过当前一次迭代进入下一次迭代。在本教程中,,我们通过示例介绍在 Java 中如何使用 continue 语句。

在本教程中,,我们通过示例介绍在 Java 中如何使用 continue 语句。

在使用循环时,有时需要跳过循环内的某些语句或立即终止循环,在这种情况下,可以使用 breakcontinue 语句。

要了解 break 语句,请访问 Java break 语句。在这里,我们将了解 continue 语句。

Java continue

continue 语句将跳过 forwhiledo...while 循环的当前迭代,进入下一次迭代。

continue 语句几乎总是与 Java 条件语句一起使用。

continue 语句工作原理

Java while、do…while 和 for 循环中 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 语句会跳过最内层循环的当前迭代。

在 Java 中处理嵌套循环时, 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:
}

这里,当值 j2 时, j 的值增加并执行 continue 语句。这会跳过内部循环的迭代。

带标签的 continue 语句

Java 中的 continue 语句还可以和代码标签结合,以跳过标签所在的循环的当前迭代。

它包括 continue 关键字和循环标签。语法如下:

continue labelName;

这里, continue 语句跳过由 labelName 指定标签的循环的当前迭代。

带标签的 continue 语句跳过由标签指定的循环的当前迭代。
在 Java 中使用标签 continue 语句

我们可以看到标签标识符指定了外循环。注意在内循环中使用 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 代码并尝试以不同的方式解决它以使其更具可读性。