查看原文
其他

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


 往期推荐 

🔗



 

点击阅读原文,获得更多精彩内容

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存