break and continue
在任何循环语句的主体部分,可以用break 和continue 控制循环的流程。其中,break 用于退出循环,不执行循环中剩余的语句。而continue 则停止执行当前的循环,然后退回循环起始处,开始新的循环。下面看一个例子
1-1 break and continue的例子
//: 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 + " "); } } }
程序运行的结果如下:
在这个for 循环中,i 的值永远不会到达100。因为一旦i 到达74,break 语句就会中断循环。通常,只有在不知道中断条件何时满足时,才需象这样使用break。只要i 不能被9 整除,continue 语句会使程序流程返回循环的最开头执行(所以使i 值递增)。如果能够整除,则将值显示出来。
第二部分揭示了一个“无限循环”的情况。然而,循环内部有一个break 语句,可中止循环。除此以外,大家还会看到continue 移回循环顶部,同时不完成剩余的内容(所以只有在i 值能被9 整除时才打印出值)。