学习一门新的编程语言,就像学习一门新的外语。你必须面对新的词汇量,语法,方言。而Groovy能和Java无缝的结合在一起,Java能调用Groovy,Groovy能调用Java,而且语法上是类似而友好的,这为你学习Groovy无疑平滑的。那么现在我们就开始Groovy的学习吧。
- Commenting Groovy code
- 单行注释和多行注释就和Java一样,唯一不同的是Groovy多了一个首行注释。
#!/usr/bin/groovy(首行注释,必须出现在第一行) // some line comment(单行注释) /* (多行注释) some multiline comment */
- 一些指导方针来书写注释.
■ #! 注释只允许出现在第一行 ,允许Unix shells 定位 Groovy bootstrap script 通过它来运行代码
■ // 单行注释
■/* … */ 多行注释.
■ /** … */ Javadoc,Groovydoc注释。 - 一些Groovy代码--但不完全是--看上去完全像Java代码。这经常导致一些错误的结论---Groovy语法是Java语法的扩展子集。尽管类似,但他们谁也不是谁的子集。例如,Groovy不支持Java中的for(init;test;inc)
- 相对于稍微的不同,其实Java的绝大部分语法是Groovy语法的一部分:
■ 普通的包导入机制
■ Statements (i包括 package and import 语句)
■ Class and method 定义 (除了嵌套Class)
■ 控制结构 (除了for(init;test;inc) )
■ 操作符, 表达式, and 赋值
■ 异常处理
■ 字符声明
■ 对象实例化, 应用, 解除对象, 方法调用 - Groovy增加的语法部分,这些添加的部分是Groovy代码更简洁易懂
■ 通过新的表达式和操作符更加容易的访问对象
■ 允许更多的方法声明对象
■ 提供新的控制结构使用高级流控制
■ 引入新的数据类型与表达式和操作符一起工作
■Groovy中的一切都是对象
- 通过简洁让语法更美好
- Groovy允许你省略掉一些Java中必须的语法。省略这些使语法更简洁,不冗长,更具有表达力,例如:
Java: java.net.URLEncoder.encode("a b");
上面的代码不单是简洁了,而且更直接的方式的表达了我们的意思,省略了包导入机制,圆括号,分号。代码最小化了。然而,这可能对我们习惯使用Java语法的人来说,直觉上有点不舒服(也有可能产生语法上的误解,比如优先机制),而Groovy看出了我们的心思,上面这些都是可选的,意思就是,你可以使用或者不使用。Groovy: URLEncoder.encode 'a b'
- Groovy自动导入下面的类包:
这样你可以使用这些包,而不用再去导入了。groovy.lang.*
groovy.util.*
java.lang.*
java.util.*
java.net.*
java.io.*
java.math.BigInteger
java.math.BigDecimal