Java 必知必会 第 4 篇

(精挑 Stack Overflow在java中排名前100的问题

懂得这些问题的答案帮你解决80%开发问题 )

问题

Java中如何从一个多层嵌套循环中退出,例如下面,有两个循环,break只能退出一个for循环,不能直接跳过第二个for循环

for(Type type : types) {
for(Type t : types2) {
if(some condition) {
// Do something and break...
break; // 这样只退出了最里的for循环
}
}}

回答

可以用break+label的语法,例子如下

publicclassTest{
publicstaticvoid 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循环。

这将会是一个系列,我接下来会更新mysql,mongodb,java,linux等,精挑 Stack Overflow在中排名前的问题,一般知道这些问题,可以帮助我们快速解决开发中遇到80%的问题。

推荐阅读:

java如何将String转换为Int

java中如何将数组转换为List

去掉烦人的“!=null"