Day12-41.break and continue

来源:互联网 发布:3d展示软件 编辑:程序博客网 时间:2024/05/21 09:20

在任何迭代语句的主体部分,都可用break和continue控制循环的流程。

其中,break用于强行退出循环,不执行循环中剩余的语句。

而continue则停止执行当前的迭代,然后退回循环起始处,开始下一次迭代。

下面这个程序向大家展示了break和continue在for和while循环中的例子:

//: control/BreakAndContinue.java// Demonstrates break and continue keywords.import static net.mindview.util.Range.*;public class BreakAndContinue {  public static void main(String[] args) {    for(int i = 0; i < 100; i++) {      if(i == 74) break; // Out of for loop      if(i % 9 != 0) continue; // Next iteration      System.out.print(i + " ");    }    System.out.println();    // Using foreach:    for(int i : range(100)) {      if(i == 74) break; // Out of for loop      if(i % 9 != 0) continue; // Next iteration      System.out.print(i + " ");    }    System.out.println();    int i = 0;    // An "infinite loop":    while(true) {      i++;      int j = i * 27;      if(j == 1269) break; // Out of loop      if(i % 10 != 0) continue; // Top of loop      System.out.print(i + " ");    }  }} /* Output:0 9 18 27 36 45 54 63 720 9 18 27 36 45 54 63 7210 20 30 40*///:~


在这个for循环中,i的值永远不会达到100,因为一旦i达到74,break语句就会中断循环。

通常,只有在不知道中断条件何时满足时,才需要这样使用break。

只要i不能被9整除,continue语句就会使执行过程返回到循环的最开头(这使i值递增)。

如果能够整除,则将值显示出来。

第二种for循环展示了foreach用法,它将产生相同的结果。

最后,可以看到一个”无穷while循环“的情况。

然而,循环内部有一个break语句,可中止循环。

除此之外,大家还会看到continue语句执行序列移回到循环的开头,而没有去完成continue语句之后的所有内容。

只有在i值能被10整除时才打印出值。

输出结果之所以显示0,是由于0%9等于0.

无穷循环的第二种形式是for(;;).

编译器将while(true)与for(;;)看作是同一回事。

所以具体选用哪个取决于自己的编程习惯。

原创粉丝点击