您的位置:首页 > 编程语言 > Java开发

原来java中也有类似goto语句的标签啊--java label标签

2015-06-25 23:06 399 查看
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。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: