JavaScript跳出双重循环(如何跳出双重for循环)
例 1:跳出单层循环
@Test public void test1() { for (int i = 0; i < 5; i++) { if (i == 2) { break; } else { System.out.println("i=" + i); } } } 复制代码
执行结果:
i=0 i=1 复制代码
例 2:跳过单层当次循环
@Test public void test2() { for (int i = 0; i < 5; i++) { if (i == 2) { continue; } else { System.out.println("i=" + i); } } } 复制代码
执行结果:
i=0 i=1 i=3 i=4 复制代码
例 3:跳出双层的内部当次循环
@Test public void test3() { for (int i = 1; i < 4; i++) { for (int j = 0; j < 4; j++) { if (i == 2) { break; } else { System.out.println("i=" + i + " ;j=" + j); } } } } 复制代码
执行结果:
i=1 ;j=0 i=1 ;j=1 i=1 ;j=2 i=1 ;j=3 i=3 ;j=0 i=3 ;j=1 i=3 ;j=2 i=3 ;j=3 复制代码
例 4:跳出整个双层循环
@Test public void test4() { flag: for (int i = 1; i < 4; i++) { for (int j = 0; j < 4; j++) { if (i == 2) { break flag; } else { System.out.println("i=" + i + " ;j=" + j); } } } } 复制代码
执行结果:
i=1 ;j=0 i=1 ;j=1 i=1 ;j=2 i=1 ;j=3 复制代码
例 5:跳出整个双层循环 [与例 4 作用同,但推荐这种写法]
@Test public void test5() { boolean flag = false; for (int i = 1; i < 4; i++) { for (int j = 0; j < 4; j++) { if(i==2) { flag = true; }else { System.out.println("i=" + i + " ;j=" + j); } } if (flag) { break; } } } 复制代码
执行结果:
i=1 ;j=0 i=1 ;j=1 i=1 ;j=2 i=1 ;j=3 复制代码
例 6:跳出内部当次继续执行
@Test public void test6() { boolean flag = false; for (int i = 1; i < 5; i++) { for (int j = 0; j < 5; j++) { if(i==2) { flag = true; break;// 跳出循环 }else { System.out.println("i=" + i + " ;j=" + j); } } if (flag) { System.out.println("i="+i+"此段代码将不执行"); flag = false; continue; } } } 复制代码
执行结果:
i=1 ;j=0 i=1 ;j=1 i=1 ;j=2 i=1 ;j=3 i=1 ;j=4 i=2此段代码将不执行 i=3 ;j=0 i=3 ;j=1 i=3 ;j=2 i=3 ;j=3 i=3 ;j=4 i=4 ;j=0 i=4 ;j=1 i=4 ;j=2 i=4 ;j=3 i=4 ;j=4
作者:foxscallion
链接:https://juejin.cn/post/7034796526106836999