`
181054867
  • 浏览: 147420 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

新发现了Java一个语法,可以给花括号内的代码块命名

阅读更多

 

 

 

 

 

 

 

 

 

 

 

今天在看某开源项目的源代码时发现一个很有趣的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下。


  • 大小: 28.7 KB
分享到:
评论
47 楼 congdepeng 2011-03-28  
代码和数组一样,都是以开头的一个指针指向的。

所以这样的写法和Python里面的写法一样的自然。

46 楼 coolboywy 2011-03-28  
caoxudong818 写道
兰州,你可以在代码里的某一行加入一段网址,不会出错。
例如:
public static void main(String[] args) {
        Date d = new Date(0);
        System.out.println("toString: " + d);
        DateFormat df = DateFormat.getDateTimeInstance();
        http://www.google.com
        System.out.println("Default format: " + df.format(d));
        df.setTimeZone(TimeZone.getTimeZone("GMT"));
        System.out.println("Near the Bow Bells: " + df.format(d));
    }


确定http:不会被打上红色波浪线?
45 楼 zhouhaoqun_luntan 2011-03-25  
前阵子刚用过,不过书上好像都不推荐
44 楼 sjmei 2011-03-22  
嗯,学习了
43 楼 qjtttt 2011-03-20  
nesuk 写道
这种风格的代码在反编译是会出现问题,所以也不被提倡。

有问题么- -?我咋不晓得呢。。
42 楼 sunrie 2011-02-24  
宁愿单独增加一个条件变量来处理也不用这个!
41 楼 ericyanzhe 2011-02-24  
thihy 写道
这个确认很多人不知道。但却是基本语法。为啥呢?因为大家学Java很不系统,基础不够扎实。

不一定不系统吧,当初在大学里面老是只是提到过,但是压根就不许我们用。相信很多人不用的话都会忘掉。
40 楼 cectsky 2011-02-24  
caoxudong818 写道
兰州,你可以在代码里的某一行加入一段网址,不会出错。
例如:
public static void main(String[] args) {
        Date d = new Date(0);
        System.out.println("toString: " + d);
        DateFormat df = DateFormat.getDateTimeInstance();
        http://www.google.com
        System.out.println("Default format: " + df.format(d));
        df.setTimeZone(TimeZone.getTimeZone("GMT"));
        System.out.println("Near the Bow Bells: " + df.format(d));
    }

介绍一下
39 楼 caoxudong818 2011-02-23  
兰州,你可以在代码里的某一行加入一段网址,不会出错。
例如:
public static void main(String[] args) {
        Date d = new Date(0);
        System.out.println("toString: " + d);
        DateFormat df = DateFormat.getDateTimeInstance();
        http://www.google.com
        System.out.println("Default format: " + df.format(d));
        df.setTimeZone(TimeZone.getTimeZone("GMT"));
        System.out.println("Near the Bow Bells: " + df.format(d));
    }
38 楼 cectsky 2011-02-23  
sw1982 写道
label, c语言开始就有

您的头像给力
37 楼 Brera 2011-02-23  
去年用过一次,在没用过
36 楼 sheep3600 2011-02-23  
唉,switch时候用到过break,剩下的都没用过。
35 楼 hydrogen2008 2011-02-23  
这个确实是基本的东西,很多书上都会介绍。
记的很清楚,我们老师当时就说了这个不要用。
34 楼 thihy 2011-02-23  
这个确认很多人不知道。但却是基本语法。为啥呢?因为大家学Java很不系统,基础不够扎实。
33 楼 maowei009 2011-02-23  
天呐,竟然有很多人不知道这个用法么?java基本语法不是有这个的么~~ :
32 楼 sw1982 2011-02-23  
label, c语言开始就有
31 楼 Rooock 2011-02-23  
i2534 写道
这个就不能用.
goto的苦还没吃够吗?
特别是在多重循环嵌套中用这个就是噩梦.
谁用谁知道.



还真是谁用谁知道.
我在js的多重循环里用着很好.
30 楼 xiang04551ran 2011-02-23  
java书里面讲for循环一般都会讲到吧
29 楼 hyl1234 2011-02-23  
方法在书中的确看到过,不过一直都没有用。
不过LZ还是有心了。
28 楼 teacher1998 2011-02-23  
在core java的第三章: fundamental programming structures in java里有所,
如上面同志所述,这是替代goto的。

相关推荐

Global site tag (gtag.js) - Google Analytics