Groovy简介:
参考书籍:《Groovy入门经典》、《Groovy in Action》
1、Groovy是Java平台上脚本语言,抽象程度更高
- 可以更简单快速地开发,可以编写更少的代码。
2、与Java语言无缝集成,可称为“超级Java”
- 使用“类Java”语法,Java成语员可以快速过渡。
- Groovy与Java二进制兼容,都生成字节码,所以可以与使用Java语言所编写的框架和组件完美继承,并且效率安全方面比其他脚本语言要高。
- Groovy对象就是Java对象,使用与JDK相同的API。
- 可以保护整个Java产业在Java上的巨大投资。
3、在中小型项目中可以替代Java,在大型Java项目中可以嵌入Groovy应用。
Groovy特征:
1、Groovy = Java - 重复的样板代码
+可选的动态类型
+闭包(closures)
+领域规范语言(DSL)
+生成器(builders)
+元编程(metaprogramming)
2、Groovy是没有类型/修饰符/return/iterator,不需要导入集合的Java。Groovy丢掉了许多Java的包袱。
3、不能确定变量类型时将变量类型设为Object
4、DLS:domain specific languages
5、生成器:可以生成XML/HTML/Swing树状数据结构
6、元编程:运行时对类增加行为,类似于AOP。
搭建开发环境:
1、JDK1.5或更高版本
- http://java.sun.com
- 配置好JAVA_HOME,PATH/CLASSPATH(可选)
2、Groovy-1.5.4或更高版本
- http://groovy.codehaus.org/Download
- 应该下载Windows-installer:Binary Release
- GROOVY_HOME与PATH(安装时会自动配置)
3、Eclipse3.3 http://www.eclipse.org
4、MyEclipse6插件或更高版本(Web版本需要)
- eclipse - help - install/update - Serch for new features to install - url - New Remote Site - URL=
5、MySQL5数据库
6、Jad反编译工具及Eclipse插件(可选)
直接来源于Java语法的特性
1、关键字与语句
2、类,接口,属性,方法的定义。
3、使用new创建对象。
4、包导入机制。
5、try/catch/finally异常处理机制。
6、运算符,表达式,复制。
7、控制结构。
8、代码注释。
Groovy自动导入如下包:
- groovy.lang.*
- groovy.util.*
- java.lang.*
- java.util.*
- javautil.regex.*
- java.net.*
- java.io.*
- java.math.BigDecimal
- java.math.BigInteger
数值:
1、Groovy的一切都是对象。自动装箱与拆箱
2、整数123,-12,0都是Integer类的对象。
- 定义变量(使用动态类型):def price = 100 等同于 Integer price =new Integer(100)
- 3.times{println 'Hello'} 打印3次, 3是对象,所以可以用方法。
- 语句结尾可以不用 ";" 结尾。
3、浮点数1.5,-3.14都是BigDecimal类的对象
4、数值类型:
- Integer 15
- Long 100L 100l
- Float 1.23f 4.56F
- Double 1.23d 4.55D
- java.math.BigInteger 123g 456G
- java.math.BigDecimal 1.23 1.23g 1.23G
GDK数值方法:
1、def store = ' '
10.times{store += 'x'}
assert store =='xxxxxxxxxx'
2、store = ' '
1.upto(5){number -> store +=number}
assert store = '12345'
3、store = ' '
2.downto(-2){number -> store = number + ' '}
assert stroe = '2 1 0 -1 -2'
4、store = ' '
0.step(0.5,0.1){number -> store += number + ' '} 从0开始加到0.5,每次加0.1
assert store == '0 0.1 0.2 0.3 0.4'