• 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

  • 相关阅读:
    平分糖果——BZOJ 1045
    浙大月赛——ZOJ Problem Set 3574
    jsp 自定义标签的写法
    C#扩展方法(转贴)
    window mobile 防止系统休眠代码
    jbpm sql使用动态参数方法
    spring 多数据源配置实现
    原创jquery蒙版控件
    jbpm 错误解决方法
    cas server 配置
  • 原文地址:https://www.cnblogs.com/yxdz/p/7528575.html
Copyright © 2020-2023  润新知