概述
- 使用带有标记的break语句,break默认是结束当前的while/for/case语句,但是当要一次结束多层嵌套的时候可以通过添加标记的方法,具体操作如下:
String a1 = "";
String b1 = "";
here:
for (int i = 1; i <= 4; i++) {
a1 = "外层循环第"+i+"层";
for (int j = 1; j <= 4; j++) {
b1 = "内层循环第"+j+"层";
if (2 == j & 2 == i) {
break here;//结束循环到here层,也就是直接结束两层循环
}
}
}
标签有两种用法,可以加break,也可以加continue,使用场景如下:
(1)带标签的continue不往下执行语句,直接返回标签所在处的循环开头,并继续执行该循环.
(2)带标签的break不往下执行语句,直接中断并退出标签所在处的循环.
- 使用一个变量来标记,这种方法容易想到,但是在遍历的过程中每次都需要判断,执行效率并不高,具体操作如下:使用state变量来决定是否结束循环体
String a2 = "";
String b2 = "";
Boolean state =
true;
for (int i = 1; i <= 4 && state; i++) {
a2 = "外层循环第"+i+"层";
for (int j = 1; j <= 4 && state; j++) {
b2 = "内层循环第"+j+"层";
if (2 == j & 2 == i) {
state = false;
}
}
}
- 使用try/catch强制跳出循环,该方法也可使用,但是当循环体内部发生其他异常,也可能导致提前结束循环,具体操作如下:
String a3 = "";
String b3 = "";
try {
for (int i = 1; i <= 3; i++) {
a3 = "外层循环第"+i+"层";
for (int j = 1; j <= 3; j++) {
b3 = "内层循环第"+j+"层";
if (2 == j & 2 == i) {
throw new Exception();
}
}
}
} catch (Exception e) {
System.out.println(a3+b3);
}
总的来说,在工作中更推荐第一种,灵活性更高。另外还可以使用return
提前终止代码执行,前提是后边没有要执行的代码了。
最后
以上就是醉熏小白菜为你收集整理的java 中的三种跳出多重循环的方式的全部内容,希望文章能够帮你解决java 中的三种跳出多重循环的方式所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复