break&continue
-
break在任何循环语句的主体部分,均可用break控制循环的流程。break用于强行退出循环,不执行循环中剩余的语句。(也在switch语句中使用)
-
continue语句用在循环语句中,用于终止某次循环过程,即跳过循环体中尚未执行的语句,接着进入下一次是否执行循环的判定。如:
int i; int j; for(i=0;i<10;i++) { if(i==2) { break; } System.out.print(i+" "); } System.out.println(); for(j=0;j<10;j++) { if(j==2) { continue; } System.out.print(j+" "); }
输出结果:
可见,break时,当i=2时便被强制跳出整个循环;
当continue时,j=2时,遇到continue后,直接回到for中的判断条件。
3.关于goto关键字
goto是Java中的一个保留字,但并未在语言中得到正式使用;Java没有goto。然而,在break和continue这俩个关键字身上,我们任然能够看到goto的影子——带标签的break和continue。
“标签”是指后面跟一个冒号的标识符,如:label:
对Java来说,唯一用到标签的地方是在循环语句之前,而循环语句之前设标签的唯一理由是:我们希望在其中嵌套另一个循环,但若与标签使用,他们就会中断到存在标签的地方。如:
int i=0;
int j=0;
here:for(i=5;i<10;i++) {
for(j=2;j<i/2;j++) {
if(i%j == 0) {
continue here;
}
}
System.out.print(i+" ");
}
输出结果:
其中,“here”可以随意命名,当进入if语句中执行了continue后程序直接跳到最外面的for中,继续进行for中循环。