zoukankan      html  css  js  c++  java
  • 原来java中也有类似goto语句的标签啊--java label标签

    http://blog.sina.com.cn/s/blog_6d5354cd0100xjg7.html

    ——————————————————————————————————————————————————————————————

    goto语句的危害:

         goto语句是在源码级上的跳转,这使其招致了不好的声誉。若一个程序总是从一个地方跳到另一个地方,还有什么办法来控制程序的流程。

    java中的“goto”:

         虽然Java中goto语句只是java的一个保留字,没有起任何作用,但是我今天在使用continue和break语句时,还是发现了其中又goto语句的影子。因为continue和break语句都支持跳到一个Label的位置。下面是具体的用法:

       inner:
       for( int i = 0 ; i<3 ;i++ ){
        System.out.println("iiii===>"+i);
        for( int j =0 ; j<5; j++ ){
         if( j == 1 )
          continue inner;
         System.out.println("j===>"+j);
        }
       }

    上面一段语句的输出为

    iiii===>0
    j===>0
    iiii===>1
    j===>0
    iiii===>2
    j===>0

    一般的 continue语句都是跳出当前循环,但是这个会跳出到标记inner的位置。从这段程序可以看出,当跳到标签inner的时候是继续进行for循环,而不是重新开始。

    Ps:

    在java中,标签起作用的唯一的地方是在迭代语句之前。

    在java中需要使用标签的唯一理由就是因为有循环嵌套的存在,而且想从多层嵌套中break或continue。

  • 相关阅读:
    jvm性能监控(4)–JVM的监控工具Jconsole
    jvm性能监控(3)-jdk自带工具 jps jstack jmap
    jvm性能监控(2)–JVM的监控工具jstat
    jvm(1)性能监控-linux相关命令
    jvm学习(5) 对象的创建与结构
    jvm(4) 对象创建
    jvm学习(3)方法区、堆、对象存储位置
    jvm学习(2)JVM内存说明
    java泛型
    windows下部署spring boot 的jar
  • 原文地址:https://www.cnblogs.com/cuizhf/p/4601195.html
Copyright © 2011-2022 走看看