zoukankan      html  css  js  c++  java
  • java中break和continue使用标记

    break

    1、结束switch
    2、结束当前的循环语句,比如for,while

    3、结合标记使用,作用于双层循环的外层循环

    如下demo输出结果为外层和内层循环交替输出

    public static void testBreak() {
            for (int i = 0; i < 3; i++) {
                System.out.println("outer" + i);
                for (int j = 0; j < 3; j++) {
                    if (j == 1) {
                        break;
                    }
                    System.out.println("inner" + j);
                }
            }
        }

    结果:

    outer0
    inner0
    outer1
    inner0
    outer2
    inner0

    作为标记使用,跳出了外层循环,外层和内层循环各输出了一次

    public static void testBreakFlag() {
            flag: for (int i = 0; i < 3; i++) {
                System.out.println("outer" + i);
                for (int j = 0; j < 3; j++) {
                    if (j == 1) {
                        break flag;
                    }
                    System.out.println("inner" + j);
                }
            }
        }

    结果:

    outer0
    inner0

    continue

    1、跳过当前循环内容的处理,继续下一个循环内容的处理

    2、结果标记使用,

    如下为continue一般使用

    public static void testContinue() {
            for (int i = 0; i < 3; i++) {
                System.out.println("outer" + i);
                for (int j = 0; j < 3; j++) {
                    if (j == 1) {
                        continue;
                    }
                    System.out.println("inner" + j);
                }
            }
        }

    输出结果,外层循环输出一次,内层循环输出两次,内层循环跳过inner1的输出,如此共循环三次

    outer0
    inner0
    inner2
    outer1
    inner0
    inner2
    outer2
    inner0
    inner2
    View Code

    使用标记

    public static void testContinueFlag() {
            flag: for (int i = 0; i < 3; i++) {
                System.out.println("outer" + i);
    
                for (int j = 0; j < 3; j++) {
                    if (j == 1) {
                        continue flag;
                    }
                    System.out.println("inner" + j);
                }
            }
    
        }

    输出结果,与不使用标记的break输出结果相同

    outer0
    inner0
    outer1
    inner0
    outer2
    inner0

    总结:

    break使用标记时,在结束内层循环的同时,也可以结束外层循环,可以对外层循环进行控制

    continue使用标记时,满足内循环条件后,跳到了外层循环的指定位置继续执行,内循环的剩下的循环不再执行,在本例中类似break,但不能认为就是和break效果完全相同的

     如果不使用break标记,也可以通过其他方式来实现出break标记的功能,如

    public static void testBreakFlagSame() {
            boolean end = false;
            for (int i = 0; i < 3; i++) {
                if (end) {
                    break;
                }
                System.out.println("outer" + i);
                for (int j = 0; j < 3; j++) {
                    if (j == 1) {
                        end = true;
                        break;
                    }
                    System.out.println("inner" + j);
                }
            }
        }

    输出结果与使用break标记相同

    outer0
    inner0
  • 相关阅读:
    ubuntu 14.04 安装python包psycopg2
    vmare 往 virtualbox迁移
    docker-compose & docker 镜像/加速
    nodejs & npm & gulp 安装和配置
    airflow 优化
    airflow 部署
    windows 上vmare超卡的问题解决方案
    HDU 6781 Solo (贪心 + 优先队列)
    HDU 6779 Drink (最小费用流)
    HDU 6778 Car (状压DP)
  • 原文地址:https://www.cnblogs.com/qq931399960/p/15686925.html
Copyright © 2011-2022 走看看