break和continue
package cn.keymobile;
/**
* break和continue的验证
*
* 1、在这个for 循环中,i 的值永远不会到达100。因为一旦i 到达74,break 语句就会中断循环。通常,只有在
* 不知道中断条件何时满足时,才需象这样使用break。只要i 不能被9 整除,continue 语句会使程序流程返回循环的最开头执行
* 所以使i值递增)。如果能够整除,则将值显示出来。
* 2、第二部分向大家揭示了一个“无限循环”的情况。然而,循环内部有一个break 语句,可中止循环。除此以外,大家还会看到
*continue 移回循环顶部,同时不完成剩余的内容(所以只有在i 值能被9 整除时才打印出值)
*
* 3、无限循环的第二种形式是for(;;)。编译器将while(true)与for(;;)看作同一回事。所以具体选用哪个取决于自己的编程习惯
* 4、break,结束整个循环;continue是结束当次循环,使程序流程返回循环的最开头继续执行;
* for循环的分析过程:
* 当i=0时,i<100成立,走到第一个if,条件为假,不执行if中的代码,走到第二个if,条件为假,不执行if中的代码,所以打印出0;
* i++后,i变为1,1<100成立,走到第一个if,条件为假,不执行if中的代码,走到第二个if,条件为真,执行continue之后循环从头开始,所以不会打印1;
* ......
* i++后,i变为74,74<100成立,走到第一个if,条件为真,执行if中的break后,则结束整个循环,所以72到100之间的9的倍数就没有打印了;
*/
public class BreakAndContinue {
public static void main(String[] args) {
for (int i = 0; i < 100; i++) {
if (i == 74) {
break;
}
if (i % 9 != 0) {
continue;
}
System.out.print(i + ",");
}
int i = 0;
while (true) {
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,10,20,30,40,
}