zoukankan      html  css  js  c++  java
  • JAVA标号与continue,break

    可以给语句块加标号赋予它们名称,标号位于语句之前。标号只能被continue和break引用。格式如下:
        label:statement
        语句前只允许加一个标号,标号后面不能跟大括号。通过用break后加标号对处于标号中的语句进行控制。往往标号后是for.while.do-while等循环。
        通过用标号,我们可以对外层循环进行控制
    下面是用continue控制标号
    public class Label {
    
        public static void main(String[] args) {
            System.out.println("i j");
            search:
                for (int i = 0; i < 3; i++) {
                    for (int j = 0; j < 50; j++) {
                        if (j == 3)
                            continue search;
                        System.out.println(i+" "+j);
                    }
                }
        }
    }

    输出如下:

    i j
    0 0
    0 1
    0 2
    1 0
    1 1
    1 2
    2 0
    2 1
    2 2

    可以看出内层循环并没有执行50次,而到了continue时就跳到最外循环去了,continue执行后执行的是i++.

    下面是用break控制标号

    public class Label {
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            System.out.println("i j");
            search:
                for (int i = 0; i < 3; i++) {
                    for (int j = 0; j < 50; j++) {
                        if (j == 3)
                            break search;
                        System.out.println(i+" "+j);
                    }
                }
        }
    }

    输出如下:

    i j
    0 0
    0 1
    0 2

    可以看出内层循环也没有执行50次,而且break后循环就再也没执行。break跳出的是最外层循环,跳出了标号的范围。

    break跳出标号对查询一条记录来说比较有用,当查出自己想要的一条记录时,就可以跳出循环了,不用再执行了。

    标号语句必须紧接在循环的头部。标号语句不能用在非循环语句的前面。
  • 相关阅读:
    C#调用易语言DLL
    Github无法访问的解决办法
    CMD命令下图片合成一句话木马命令
    IIS6的文件解析漏洞
    C#的委托
    C#的多线程简洁笔记
    POST注入之sqlmap
    分布式任务调度XXL-JOB初体验
    Ubuntu切换为阿里镜像源
    Ubuntu禁用root账号,开启Ubuntu密钥登录
  • 原文地址:https://www.cnblogs.com/pjlhf/p/5236641.html
Copyright © 2011-2022 走看看