1. 问题描述
当有多个for循环的时候,如何跳出最外层循环?
2. 解决方案
2.1 正常单个for循环
package com.example.demo;public class TestFor { public static void main(String[] args) { for (int i = 0; i < 6; i++) { System.out.println(i); } }}结果:012345
跳出单层循环,使用break正常跳出。
package com.example.demo;public class TestFor { public static void main(String[] args) { for (int i = 0; i < 6; i++) { if (i > 3) { break; } System.out.println(i); } }}结果:0123
2.2 多层循环的情况,使用break仅仅是跳出了最里面的循环。
package com.example.demo;public class TestFor { public static void main(String[] args) { for (int j = 0; j < 2; j++) { for (int i = 0; i < 6; i++) { if (i > 3) { break; } System.out.println("----IIII值:"+i); } System.out.println("----JJJJ值:"+j); } }}结果:----IIII值:0----IIII值:1----IIII值:2----IIII值:3----JJJJ值:0----IIII值:0----IIII值:1----IIII值:2----IIII值:3----JJJJ值:1
从结果可以看出,当i大于3的时候,跳出了最里面的i循环,但是外层的j循环还是正常执行了。
2.3 跳出指定层循环
package com.example.demo;public class TestFor { public static void main(String[] args) { jj: for (int j = 0; j < 2; j++) { ii: for (int i = 0; i < 6; i++) { if (i > 3) { break jj; } System.out.println("----IIII值:"+i); } System.out.println("----JJJJ值:"+j); } }}结果:----IIII值:0----IIII值:1----IIII值:2----IIII值:3
简单来说就是给for循环起个名字,命名规则是:名字+半角冒号,例如:jj:,然后在break后面跟上名字,就跳出对应for循环。
I’m 「软件老王」,喜欢我的文章欢迎转发及关注,人人为我,我为人人,IT相关经验及人生分享与交流!