该帖已经被评为新手帖
|
|
---|---|
作者 | 正文 |
发表时间:2011-02-23
最后修改:2011-02-23
今天在看某开源项目的源代码时发现一个很有趣的Java语法,见代码: bb : for (int num = 1; num <= 10; num++) { System.out.println("--------------- num : " + num); for (int i = 0; i < 5; i++) { if(num == 8) break bb; System.out.println("curr : " + i); } } cms : if(true) { System.out.println("test"); break cms; } 在多重嵌套循环的情况下,可以任意跳出某个父级循环 ,这个语法平时还是有用的,所以分享一下,知道的朋友不要拍砖,不要投新手帖,因为我认为很多朋友都不知道,呵呵!
以上代码测试运行在:JDK1.6下。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2011-02-23
第一次知道, 呵呵
我试了下 提示 The label test is never explicitly referenced |
|
返回顶楼 | |
发表时间:2011-02-23
这是java语言取消goto后,给出的替代方案
不过有一种观点是 label 比 goto 更可怕。。。。。 |
|
返回顶楼 | |
发表时间:2011-02-23
silenceburn 写道 这是java语言取消goto后,给出的替代方案
不过有一种观点是 label 比 goto 更可怕。。。。。 呵呵,不经常使用,所以不作评论啦 |
|
返回顶楼 | |
发表时间:2011-02-23
呵呵 的确很少人知道,上次告诉一个同事,他居然不信,为此与我打赌,输给我一顿午饭,所以对于break label还是有很好的印象的
|
|
返回顶楼 | |
发表时间:2011-02-23
不单是break可以用,continue也可以用。。。
|
|
返回顶楼 | |
发表时间:2011-02-23
循环嵌套时 常用到的
|
|
返回顶楼 | |
发表时间:2011-02-23
很早就用过..java书上都会讲的吧
|
|
返回顶楼 | |
发表时间:2011-02-23
这个是配合goto,continue , break的标签吧,很少用的,一般不推荐用
|
|
返回顶楼 | |
发表时间:2011-02-23
这种风格的代码在反编译是会出现问题,所以也不被提倡。
|
|
返回顶楼 | |