从一个多层嵌套循环中直接跳出

Java 必知必会 第 4 篇

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

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

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

代码语言:javascript复制for(Type type : types) {

for(Type t : types2) {

if(some condition) {

// Do something and break...

break; // 这样只退出了最里的for循环

}

}}

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

代码语言:javascript复制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%的问题。

全国各省985/211高校分布图汇总,哪所是你的理想大学? 腾讯控股发布股份奖励计划,1715.9万股新增发行,股价微跌
top