• 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

  • 相关阅读:
    【C#/WPF】限制GridSplitter分隔栏的滑动范围
    【C#】访问泛型中的List列表数据
    【C#学习笔记】反射的简单用法
    【C#】获取泛型<T>的真实类型
    【Unity】关于发射子弹、导弹追踪的逻辑
    【转】【Unity】四元数(Quaternion)和旋转
    【Unity】UGUI的Text各种小问题
    【火狐FireFox】同步失败后,书签被覆盖,如何恢复书签
    【转】【Unity】实现全局管理类的几种方式
    【Unity】动态调用其他脚本的函数
  • 原文地址:https://www.cnblogs.com/yxdz/p/7528575.html
Copyright © 2020-2023  润新知