`
181054867
  • 浏览: 148196 次
  • 性别: 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
分享到:
评论
27 楼 181054867 2011-02-23  
wudixs 写道
你是新手吧。 看来JAVA没有学到家啊

很正常,从来不用,老师也不给说,就不知道啦
26 楼 freish 2011-02-23  
最差劲的入门书都有提到这个平时几乎不会用到的功能。。。。
25 楼 wudixs 2011-02-23  
你是新手吧。 看来JAVA没有学到家啊
24 楼 D调的华丽 2011-02-23  
这很稀奇吗。。这么古老的代码
23 楼 forhead 2011-02-23  
平常写代码,没用过。
22 楼 i2534 2011-02-23  
这个就不能用.
goto的苦还没吃够吗?
特别是在多重循环嵌套中用这个就是噩梦.
谁用谁知道.
21 楼 lyy3323 2011-02-23  
JDK不是不推荐这么使用么?
20 楼 181054867 2011-02-23  
forsecond 写道
congdepeng 写道
楼主的图片附件的代码高亮很好看, 是用的什么?

同问!!

见图:

19 楼 181054867 2011-02-23  
congdepeng 写道
楼主的图片附件的代码高亮很好看, 是用的什么?

呵呵,还是Eclipse,在Ubuntu下的效果
18 楼 silenceburn 2011-02-23  
congdepeng 写道
楼主的图片附件的代码高亮很好看, 是用的什么?


没猜错的话应该是ubuntu下使用vim
17 楼 jackfromchina 2011-02-23  
用得不多,但知道有这功能
16 楼 kala888 2011-02-23  
label 这个有啥大惊小怪的,
15 楼 ggzwtj 2011-02-23  
先学的c++,学java的时候重点看的是不同点。这算一个吧。感觉类似goto,算是一个折中吧。
14 楼 forsecond 2011-02-23  
congdepeng 写道
楼主的图片附件的代码高亮很好看, 是用的什么?

同问!!
13 楼 lee0o0 2011-02-23  
知道是知道,不过从没写过,觉得没这必要。
12 楼 eric_shi 2011-02-23  
think in java 里有介绍的 ??
11 楼 congdepeng 2011-02-23  
楼主的图片附件的代码高亮很好看, 是用的什么?
10 楼 hubert_bubert 2011-02-23  
清晰记得在准备scjp中看到过这方面的知识,不过至今实践中没有用到过
9 楼 nesuk 2011-02-23  
这种风格的代码在反编译是会出现问题,所以也不被提倡。
8 楼 tsxm 2011-02-23  
这个是配合goto,continue , break的标签吧,很少用的,一般不推荐用

相关推荐

    语法分析器 Java

    然后,语法分析器利用这些标记构建抽象语法树(AST,Abstract Syntax Tree),这是一个结构化的表示,反映出源代码的语法规则。这个过程是基于一套预定义的语法规则,通常由上下文无关文法(CFG,Context-Free ...

    括号匹配java源代码

    用户可以输入一个字符串,该程序就会检测该字符串的括号是否匹配。如果匹配,就输出`YES`,否则输出`NO`。 java.util包 在本程序中,我们使用了`java.util`包中的`BufferedReader`和`InputStreamReader`类来实现...

    java版本词法、语法分析器以及三地址代码生成实验源代码

    Java版本的词法、语法分析器以及三地址代码生成是编译原理领域的重要实践内容,它们涉及到了编译器设计的基础阶段。在这个实验中,我们使用Java编程语言实现了这些核心功能,这使得代码具有跨平台的特性,并且利用...

    基于java的语法分析实现代码与程序报告

    在实现代码中,我们可能需要定义一个类层次结构,每个类代表AST中的一个节点类型,如表达式节点、声明节点等。解析器在遇到特定的语法规则时,会创建相应的节点对象并连接它们,形成一棵表示源代码结构的树。 程序...

    java语法基础.pdf

    Java语句必须以分号结尾,花括号用于组织语句块,而空格和换行在Java中是允许的,但不影响程序执行。类的命名通常遵循驼峰命名法,每个单词首字母大写。 总的来说,Java语法基础涵盖了变量、控制结构、类与对象、...

    基于java实现的语法分析器及词法分析器

    在这个项目中,我们关注的是一个基于Java实现的语法分析器和词法分析器。Java是一种广泛使用的编程语言,具有跨平台、面向对象和丰富的类库等特性,使得它成为构建这种复杂工具的理想选择。 首先,让我们深入了解...

    java语法教程.ppt

    Java 语法教程主要介绍了编程语言Java的基础知识,包括它的语法结构和常用语句。学习Java语法是为了快速理解和掌握编程的基本概念,为后续的面向对象编程打下基础。 首先,Java语言的基本组成包括标识符、关键字和...

    java模拟编译器,实现词法,语法分析,生成语法树

    Java模拟编译器是一个用于理解和处理Java源代码的软件,它涵盖了词法分析、语法分析以及生成语法树等多个关键步骤。下面我们将深入探讨这些概念及其在Java模拟编译器中的应用。 首先,我们从词法分析开始。词法分析...

    java语法规则

    Java支持重载,即同一个类中可以有多个同名但参数列表不同的方法。 7. **继承与多态** 继承允许一个类(子类)继承另一个类(父类)的属性和方法。多态是子类对象可以替换父类对象,且子类可以有自己的特有行为。 ...

    java实现的语法分析程序

    在这个项目中,我们关注的是如何使用Java语言来设计和实现一个语法分析器,该分析器包含了词法分析阶段以及自顶向下的递归下降语法分析方法。 词法分析是编译器的第一步,它的目标是将源代码分解成一系列有意义的、...

    Java语法基础2019.pdf

    块是由一对大括号({})包围的语句集合,用于定义一个作用域。使用分隔符-如分号、块和空白来组织代码,使其结构清晰易懂。 7. 数组与字符串: Java中的数组用于存储固定大小的同类型元素,可以通过索引访问元素。...

    java语言编写词法、语法、语义分析器

    对于想要从事软件开发、尤其是编译器或解释器开发的人来说,这是一个非常有价值的资源。此外,掌握这些知识对于调试、优化代码以及理解和使用编译器工具(如Javap、javac的-verbose选项)也会有所帮助。

    pl/0词法分析器和语法分析器(java)

    每个匹配的标记都会被封装为一个对象(如Token类),并返回给语法分析器。为了提高效率,词法分析器通常会使用回溯机制来处理嵌套的括号或其他结构。 **语法分析器(Parser)** 语法分析器接收词法分析器产生的标记...

    Java开发技术大全(500个源代码).

    second.java 属于一个命名包的类 showDiff.java 演示隐藏与覆盖之间的区别 showSomething.java 测试运行时多态 stupid.java 试图覆盖最终方法的类,它有错误 Sub.java 一个简单的子类 Super.java 一个基类 ...

    JavaCC语法分析器 基于Eclipse插件 能从文件读取源代码输出语法树

    在这个项目中,JavaCC生成的解析器被封装为一个Eclipse插件,用户可以直接在Eclipse内处理源代码,查看其对应的语法树,这对于理解和调试代码非常有帮助。 Test.java是测试类,通常包含用于验证解析器功能的代码。...

    关于java try()的括号中代码含义(实现Closeable接口)(csdn)————程序.pdf

    当一个类实现了`java.lang.AutoCloseable`接口(`Closeable`是其子接口),那么这个类的实例可以在`try`语句的括号内声明,Java编译器会自动在`try`块结束时调用`close()`方法,释放资源。这样可以避免忘记关闭资源...

    递归下降法实现语法分析器(java)

    在编程领域,语法分析是...导入到Eclipse工程后,你可以查看并学习如何在Java中实现递归下降法来构建一个语法分析器。通过阅读和理解代码,你将能更好地掌握递归下降法的概念,并可能将其应用于自己的编程项目中。

    用java写的一个带括号的计算器

    标题中的“用java写的一个带括号的计算器”指的是一个使用Java编程语言实现的计算器程序,这个程序能够处理包括加减乘除以及括号在内的基本数学运算。在计算机科学中,处理带有括号的表达式通常涉及到解析算法,如逆...

    Java语法总结.zip

    继承是面向对象编程的重要特性,允许一个类(子类)继承另一个类(父类)的属性和方法。这促进了代码的复用和类的层次结构建立。Java支持单继承,但通过接口可以实现多态性。 接口是另一种抽象类型,它定义了一组...

Global site tag (gtag.js) - Google Analytics