其他
SO面试题08:如何从一个多层嵌套循环中直接跳出?
# 问题
Java中如何从一个多层嵌套循环中退出?
例如,下面有两个循环,break只能退出一个for循环,不能直接跳过第二个for循环
for (Type type : types) {
for (Type t : types2) {
if (some condition) {
// Do something and break...
break; // Breaks out of the inner loop
}
}
}
# 最佳答案
可以用break+label的语法,例如:
public class Test {
public static void main(String[] args) {
outerloop:
for (int i=0; i < 5; i++) {
for (int j=0; j < 5; j++) {
if (i * j > 6) {
System.out.println("Breaking");
break outerloop;
}
System.out.println(i + " " + j);
}
}
System.out.println("Done");
}
}
首先,在for循环前加标签,如例子中的outerloop,然后在for循环内break label(如本例的outerloop),就会跳出该label指定的for循环。
stackoverflow来源: http://stackoverflow.com/questions/886955/breaking-out-of-nested-loops-in-java
往期推荐
🔗
点击阅读原文,获得更多精彩内容