`
181054867
  • 浏览: 148721 次
  • 性别: 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的。

相关推荐

    java面试题所有知识全部覆盖

    1. **编写源代码**: 使用Java语法编写程序。 2. **编译**: 通过javac命令将源代码编译成字节码(.class文件)。 3. **类装载**: 由类装载器装载.class文件。 4. **字节码校验**: 对字节码进行安全性和一致性校验。 5. ...

    Java编码规范

    3. **语句**:包括简单语句、复合语句、循环、条件语句等,应遵循清晰的语法结构,如使用花括号 `{}` 明确界定代码块。 #### 七、空白与命名规范 空白和命名规范是编码规范的重要组成部分,用于增强代码的可读性:...

    SCJP必掌握的英语词汇

    在编程中,这可能指一个方法体或代码块内的其他代码。 #### 细微差别 (Nuances) **细微差别**是指微妙的不同之处或细节。在编程中,这可能指不同编程语言之间的细微差异或实现特定功能的不同方式。 #### 具体的类...

    C#微软培训资料

    第三章 编写第一个应用程序 .20 3.1 Welcome 程序 .20 3.2 代 码 分 析 .20 3.3 运 行 程 序 .23 .4 添 加 注 释 .25 3.5 小 结 .27 第二部分 C#程序设计基础.28 第四章 数 据 类 型 .28 4.1 值 类 型...

    C语言入门经典(第4版)--源代码及课后练习答案

    3.1.5 在if语句中使用代码块 86 3.1.6 嵌套的if语句 87 3.1.7 更多的关系运算符 90 3.1.8 逻辑运算符 93 3.1.9 条件运算符 97 3.1.10 运算符的优先级 99 3.2 多项选择问题 103 3.2.1 给多项选择使用else-if...

Global site tag (gtag.js) - Google Analytics