zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    streamsets 集成 cratedb 测试
    streamsets k8s 部署试用
    streamsets rest api 转换 graphql
    StreamSets sdc rpc 测试
    StreamSets 相关文章
    StreamSets 多线程 Pipelines
    StreamSets SDC RPC Pipelines说明
    StreamSets 管理 SDC Edge上的pipeline
    StreamSets 部署 Pipelines 到 SDC Edge
    StreamSets 设计Edge pipeline
  • 原文地址:https://www.cnblogs.com/yxdz/p/7528575.html
Copyright © 2011-2022 走看看