• break和continue在多重循环中使用


    break和continue在多重循环中使用

    关于break和continue在java中,break的作用是跳出循环,continue的作用是跳出本次循环。
    我们一般情况下,这样使用:

    public static void main(String[] args) {  
            // TODO Auto-generated method stub  
            System.out.println("break循环结果:");  
            for (int i = 0; i < 5; i++) {  
                for (int j = 0; j < 5; j++) {  
                    System.out.println("i=" + i + ",j=" + j);  
                    if (j == 2)  
                        break;  
                }  
            }  
            System.out.println("continue循环结果");  
            for (int i = 0; i < 5; i++) {  
                for (int j = 0; j < 5; j++) {  
                    if (j == 2)  
                        continue;  
                    System.out.println("i=" + i + ",j=" + j);  
                      
                }  
            }  
        }  
    

    运行结果如下:
    break循环结果:
    i=0,j=0
    i=0,j=1
    i=0,j=2
    i=1,j=0
    i=1,j=1
    i=1,j=2
    i=2,j=0
    i=2,j=1
    i=2,j=2
    i=3,j=0
    i=3,j=1
    i=3,j=2
    i=4,j=0
    i=4,j=1
    i=4,j=2
    continue循环结果
    i=0,j=0
    i=0,j=1
    i=0,j=3
    i=0,j=4
    i=1,j=0
    i=1,j=1
    i=1,j=3
    i=1,j=4
    i=2,j=0
    i=2,j=1
    i=2,j=3
    i=2,j=4
    i=3,j=0
    i=3,j=1
    i=3,j=3
    i=3,j=4
    i=4,j=0
    i=4,j=1
    i=4,j=3
    i=4,j=4

    以上是跳出单层循环的情况,而需要跳出多层循环时,我们通常在外层循环中做有关的判断,再进行跳出,但除了这种方法外,还可以在外层循环前面定义一个标号,然后在内层循环中使用带有标号break或者continue的语句,就可以直接跳出多重循环,测试代码如下:

    public static void main(String[] args) {  
            // TODO Auto-generated method stub  
            System.out.println("break循环结果:");  
            grade1:  
            for (int i = 0; i < 5; i++) {  
                for (int j = 0; j < 5; j++) {  
                    System.out.println("i=" + i + ",j=" + j);  
                    if (j == 2)  
                        break grade1;  
                }  
            }  
            System.out.println("continue循环结果");  
            grade2:  
            for (int i = 0; i < 5; i++) {  
                for (int j = 0; j < 5; j++) {  
                    if (j == 2)  
                        continue grade2;  
                    System.out.println("i=" + i + ",j=" + j);  
                      
                }  
            }  
        }
    

    运行结果如下:
    break循环结果:
    i=0,j=0
    i=0,j=1
    i=0,j=2
    continue循环结果
    i=0,j=0
    i=0,j=1
    i=1,j=0
    i=1,j=1
    i=2,j=0
    i=2,j=1
    i=3,j=0
    i=3,j=1
    i=4,j=0
    i=4,j=1

  • 相关阅读:
    原来这才是 Socket !
    C 语言基础,来喽!
    手把手教你汇编 Debug
    拒做技术小白?计算机关键概念你不得不掌握!
    利用Windbg分析Magicodes.IE一次错误编写导致内存剧增
    Spring Boot整合JApiDocs实现API文档
    Spring Boot 快速整合Swagger
    Python测试框架pytest入门基础
    性能测试之测试分析与调优
    html5调用摄像头截图
  • 原文地址:https://www.cnblogs.com/yxdz/p/7528575.html
Copyright © 2020-2023  润新知