大家好,欢迎来到IT知识分享网。
摘要:介绍4种跳出循环的方式,尤其是其中的break 标签,有时候真的会成为工作中的秘密武器。
在实际编程中,有时需要在条件语句匹配的时候跳出循环。在 Java 语言里,由关键词 break 和 continue 控制。Java跳出for或者while循环的四种方式:
continue:跳出当前层循环的当前语句,执行当前层循环的下一条语句。
break:跳出当前层循环。
break+标签:多层循环时,跳到具体某层循环。
return:结束所有循环,方法内直接返回。
break和continue是老生常谈的东西,break是终止当前层循环,包括之后的本层循环,continue是终止本次循环的语句,继续之后的本层循环。
break 语句
在存在内循环的情况下,Java break 语句用来结束内循环,即不再执行当前内循环后边的所有循环,但外循环仍然继续执行。
【示例】打印当前循环坐标。
private static void breakDemo() {
for (int i = 1; i <= 3; i++) {
for (int j = 1; j <= 3; j++) {
if (i == 2 && j == 1) {
break;
}
System.out.println(i + ", " + j);
}
}
}
由输出结果可知没有打印i=2时的内循环数据:
1, 1
1, 2
1, 3
3, 1
3, 2
3, 3
分析:循环中跳过了i=2时,对内循环的遍历。
continue 语句
Java continue 语句用来终止当前操作,并继续内循环,即仅仅是这一次循环结束了,而非所有循环结束了,后边的循环依旧进行。
private static void continueDemo() {
for (int i = 1; i <= 3; i++) {
for (int j = 1; j <= 3; j++) {
if (i == 2 && j == 2) {
continue;
}
System.out.println(i + ", " + j);
}
}
}
在如下输出结果中,没有打印2, 2
:
1, 1
1, 2
1, 3
2, 1
2, 3
3, 1
3, 2
3, 3
带标签的break
使用break语句只能跳出一层循环,但是在实际开发中,有时会碰到跳出到某层循环的情况,这时使用break语句就不能达到预期效果,需要搬出break 标签了。
java的标签只能定义在语句块的上方,例如while和for循环,用于跳出多重嵌套的循环语句块,如下面loop
的形式定义。可以直接在内层使用break lable
跳出指定的代码块。
private static void labelDemo() {
for (int i = 1; i <= 3; i++) {
loop:
for (int j = 1; j <= 3; j++) {
for (int k = 1; k <= 3; k++) {
if (j == 2) {
break loop;
}
System.out.println(i + ", " + j + ", " + k);
}
}
}
}
分析:遇到j==2的时候,就跳出循环到loop:
1, 1, 1
1, 1, 2
1, 1, 3
2, 1, 1
2, 1, 2
2, 1, 3
3, 1, 1
3, 1, 2
3, 1, 3
一言以蔽之,带标签的break的影响范围是指定标签后定义的循环语句块。
return 结束所有循环,方法内直接返回。这个容易理解,就不介绍了。
结束语
对于Wiener以上的话题,大家又有什么自己的独特见解呢?欢迎在下方评论区留言!
Reference
- https://www.yiibai.com/java/java-continue.html
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/27606.html