break
break在任何循环的主体部分中均可控制循环的流程,break用于强制退出循环,在循环语句中,一旦执行到break,直接结束循环的执行。break也在switch中使用,用于跳出switch语句。
int i = 0;
while (i < 100) {
i++;
if (i == 10) {
break;
}
System.out.println(i);
}
System.out.println("程序结束!");
上述代码就是在循环打印1~100中,打印到10的时候就中止整个循环语句,执行结果为:
我们发现,它仅仅循环到10时就结束了循环语句,但是循环体外部的代码继续正常执行。
我们对break的理解就可以是,结束当前循环结构体或者结束switch语句。
continue
continue语句用在循环语句中,用于中止某次循环过程,即跳过循环体中还未执行的语句,接着进行下一次是否执行循环的判定。
int i = 0;
while (i++ < 10) {
if (i == 5) {
continue;
}
System.out.println(i);
}
System.out.println("程序结束!");
上述代码是打印1~10,但是不打印5,执行结果为:
我们发现它只是没有打印5,说明循环遇到continue就结束了当前次循环,但是并未影响后续循环,这就是break与continue的区别。
我们对于continue的理解就是结束当前次循环,后续循环并无影响。
break与continue的区别
关键字 | 作用 | 使用范围 |
---|---|---|
break | 结束当前循环 | 循环语句和switch语句 |
continue | 结束当前次循环 | 循环语句 |
goto
goto关键字很早就出现在程序设计语言中,但是goto关键字在Java中仍然还是一个保留字,并未得到正式使用;虽然Java中没有goto,我们在break和continue中能够看到一些goto的“影子”,就是带有标签的break和continue。
标签:就是指后面跟着一个:
的标识符,例如:lable:
对于Java来说,唯一用到标签的地方是在循环语句之前,而在循环之前设置标签的唯一理由是:我们希望在其中嵌套循环,由于break和continue关键字通常只中断当前的循环,但若随标签同时使用,它就会中断到存在标签的地方。
//打印50~100之间的质数
outer: for (int i = 50; i <= 100; i++) {
for (int j = 2; j <= i / 2; j++) {
if (i % j == 0) {
continue outer;
}
}
System.out.println(i);
}
上述代码,我们对外层循环使用了标签,取名为outer
,当内层循环执行到if语句内部时(代表当前数字不是质数),就直接跳到外层循环,再执行后续的循环。
这里的continue就类似于goto的跳转作用,但是在Java中的标签只能添加在循环语句前。
来源:CSDN
作者:Ara_Hu
链接:https://blog.csdn.net/weixin_45935633/article/details/104135526