Java Continue语句

Java教程 - Java continue语句


continue 语句强制循环的早期迭代。在 while do-while 循环中, continue 语句使控制转移到条件语句表达式控制循环。在 for 循环中,控制首先进行迭代for语句的部分,然后到条件表达式。

Java continue语句

continue 语句的语法

continue;

或者

continue labelName;

以下代码显示如何使用continue语句。

 
public class Main {
  public static void main(String[] argv) {
    for (int i = 0; i < 10; i++) {
      System.out.print(i + " ");
      if (i % 2 == 0)
        continue;
      System.out.println("");
    }
  }
}

上面的代码生成以下结果。

例子

continue 可以指定 label 来描述要继续的封闭循环。

 
public class Main {
  public static void main(String args[]) {
    outer: for (int i = 0; i < 10; i++) {
      for (int j = 0; j < 10; j++) {
        if (j > i) {
          System.out.println();
          continue outer;
        }
        System.out.print(" " + (i * j));
      }
    }
    System.out.println();
  }
}

这里是这个程序的输出:

例2

下面的代码显示了如何使用标签while循环。

public class Main {
  public static void main(String[] args) {
    int i = 0;
    outer: while (true) {
      System.out.println("Outer while loop");
      while (true) {
        i++;
        System.out.println("i = " + i);
        if (i == 1) {
          System.out.println("continue");
          continue;
        }
        if (i == 3) {
          System.out.println("continue outer");
          continue outer;
        }
        if (i == 5) {
          System.out.println("break");
          break;
        }
        if (i == 7) {
          System.out.println("break outer");
          break outer;
        }
      }
    }
  }
}

上面的代码生成以下结果。

EXAMPLE_2__4174CE9BE4A9482D79EA

例3

下面的代码显示了如何使用continue语句和标签计算Primes。

public class Main {
  public static void main(String[] args) {
    int nValues = 50;

    OuterLoop: for (int i = 2; i <= nValues; i++) {
      for (int j = 2; j < i; j++) {
        if (i % j == 0) {
          continue OuterLoop;
        }
      }
      System.out.println(i);
    }
  }
}

上面的代码生成以下结果。

例4

下面的代码显示了如何使用Labeled continue语句来计算阶乘数。

public class Main {
  public static void main(String[] args) {
    int limit = 20;
    int factorial = 1;

    OuterLoop: for (int i = 1; i <= limit; i++) {
      factorial = 1;
      for (int j = 2; j <= i; j++) {
        if (i > 10 && i % 2 == 1) {
          continue OuterLoop;
        }
        factorial *= j;
      }
      System.out.println(i + "! is " + factorial);
    }
  }
}

上面的代码生成以下结果。