美文网首页
Java循环语句中的标签使用

Java循环语句中的标签使用

作者: 贤惠惠 | 来源:发表于2019-01-24 15:55 被阅读0次

关于在循环体中使用标签跳出内层循环的问题,不知道这个语法糖是JDK几以后加入的,这个语法平时几乎很少遇到,应为一般情况下满足条件后终止循环的关键字 通常使用break结束当前循环体,continue用来跳过本次的循环继续其后的当前循环体内的循环,return则直接跳出外层的循环体结束循环。而标签这个东西我还是最近在《疯狂的JAVA讲义》中看到的,编程开发嘛光看不练假把式。

public class Main {

    public static void main(String[] args) {
        out:
        for (int i = 0 ; i < 10 ; i ++ ){
            System.out.println("\ti:".concat(String.valueOf(i)));
            for (int j = 0; j <5;j++){
                if (j == 2){
                    continue out;
                }
                System.out.println("\t\tj:".concat(String.valueOf(j)));

            }

        } 
    }
}

执行结果:

i:0
        j:0
        j:1
    i:1
        j:0
        j:1
    i:2
        j:0
        j:1
    i:3
        j:0
        j:1
    i:4
        j:0
        j:1
    i:5
        j:0
        j:1
    i:6
        j:0
        j:1
    i:7
        j:0
        j:1
    i:8
        j:0
        j:1
    i:9
        j:0
        j:1

在内层循环中每到第三个元素时就会跳出当前循环体回到标签out 指定的位置。
语法糖说完后有两个注意事项:
1.编写异常:

public class Main {
    public static void main(String[] args) {
        out:
        System.out.println("\ti:".concat("a");
        for (int i = 0 ; i < 10 ; i ++ ){
            System.out.println("\ti:".concat(String.valueOf(i)));

            for (int j = 0; j <5;j++){
                if (j == 2){
                    continue out;
                }
                System.out.println("\t\tj:".concat(String.valueOf(j)));

            }

        }
    }
}

我们指定的标签必需紧邻循环体,中间不能加任何的语句,下面的写法会在编译的时候报书写错误,IDE的语法检查也会标记,但是快速无法自动修复问题和给出良好的建议,所以大家尽量避免

public class Main {
    public static void main(String[] args) {
        out:
        System.out.println("\ti:".concat("a"));
        for (int i = 0 ; i < 10 ; i ++ ){
            System.out.println("\ti:".concat(String.valueOf(i)));

            for (int j = 0; j <5;j++){
                if (j == 2){
                    continue out;
                }
                System.out.println("\t\tj:".concat(String.valueOf(j)));

            }

        }
    }
}

2.一些无意义的使用场景,

  • 情景一:标记条件位于循环体最后一个执行元素,就例如示例代码中的内层循环,如果把循环控制条件由j<5改为j<3则其实当碰到out标签时本来就应该结束的当前的循环,所以没有任何意义;
  • 情景二:就是非多层循环嵌套时定义不定义这个标签显然是毫无意义的。

相关文章

  • Java循环语句中的标签使用

    关于在循环体中使用标签跳出内层循环的问题,不知道这个语法糖是JDK几以后加入的,这个语法平时几乎很少遇到,应为一般...

  • 2018-10-18 Java 小知识

    Java 可使用 break + 标签来跳出多重循环 参考资料java 中的三种跳出多重循环的方式 Java 泛型...

  • 【C语言】-循环的嵌套

    循环的嵌套:当在一个循环语句中嵌入另一个循环时,成为循环的嵌套。 循环嵌套的形式: (1)for语句中嵌入for语...

  • java 使用标签控制循环

    java中,我们通常熟悉的是通过break和continue两个关键字来控制程序的走向,当需要程序从一个地方跳到另...

  • 循环语句补充

    一、break语句(跳出语句) 只能作用于switch和循环语句中。 不带标签的break语句 带标签的不带标签的...

  • Kotlin 循环和异常

    前言 在 Kotlin 的循环语句中,while 循环还有 do...while 循环和 Java 中是一致的,在...

  • C语言学习 - continue跳转语句

    continue跳转语句的使用 用于for循环语句、while循环语句、do while循环语句中,跳过本次循环中...

  • C语言学习 - break跳转语句

    break跳转语句的使用 用于switch条件语句、for循环语句、while循环语句、do while循环语句中...

  • 技术问 - break、continue以及return有什么区

    break 使用场景: 1) 在选择结构switch语句中2) 在循环语句中:for、while、do whi...

  • java 标签 循环

    转载自http://www.cnblogs.com/nullzx/ continue和break可以改变循环的执行...

网友评论

      本文标题:Java循环语句中的标签使用

      本文链接:https://www.haomeiwen.com/subject/dpoyjqtx.html