合规国际互联网加速 OSASE为企业客户提供高速稳定SD-WAN国际加速解决方案。 广告
## [break 和 continue](https://lingcoder.gitee.io/onjava8/#/book/05-Control-Flow?id=break-%e5%92%8c-continue) 在任何迭代语句的主体内,都可以使用**break**和**continue**来控制循环的流程。 其中,**break**表示跳出当前循环体。而**continue**表示停止本次循环,开始下一次循环。 下例向大家展示**break**和**continue**在**for**、**while**循环中的使用。代码示例: ~~~ // control/BreakAndContinue.java // Break 和 continue 关键字 import static onjava.Range.*; public class BreakAndContinue { public static void main(String[] args) { for(int i = 0; i < 100; i++) { // [1] if(i == 74) break; // 跳出循环 if(i % 9 != 0) continue; // 下一次循环 System.out.print(i + " "); } System.out.println(); // 使用 for-in 循环: for(int i : range(100)) { // [2] if(i == 74) break; // 跳出循环 if(i % 9 != 0) continue; // 下一次循环 System.out.print(i + " "); } System.out.println(); int i = 0; // "无限循环": while(true) { // [3] i++; int j = i * 27; if(j == 1269) break; // 跳出循环 if(i % 10 != 0) continue; // 循环顶部 System.out.print(i + " "); } } } ~~~ 输出结果: ~~~ 0 9 18 27 36 45 54 63 72 0 9 18 27 36 45 54 63 72 10 20 30 40 ~~~ **\[1\]**在这个**for**循环中,`i`的值永远不会达到 100,因为一旦`i`等于 74,**break**语句就会中断循环。通常,只有在不知道中断条件何时满足时,才需要**break**。因为`i`不能被 9 整除,**continue**语句就会使循环从头开始。这使**i**递增)。如果能够整除,则将值显示出来。**\[2\]**使用**for-in**语法,结果相同。**\[3\]**无限**while**循环。循环内的**break**语句可中止循环。**注意**,**continue**语句可将控制权移回循环的顶部,而不会执行**continue**之后的任何操作。 因此,只有当`i`的值可被 10 整除时才会输出。在输出中,显示值 0,因为`0%9`产生 0。还有一种无限循环的形式:`for(;;)`。 在编译器看来,它与`while(true)`无异,使用哪种完全取决于你的编程品味。