Groovy 学习
groovy是增强Java平台的脚本语言。提供类似Java的语法,内置映射(Map),列表(List),等。 弱类型
数值和表达式
- 数值分为整数和浮点数
- 表达式的运算符包括+-*/%
java
5+3 5.plus(3)
5-3 5.minus(3)
5*3 5.mutiply(3)
- 赋值,自增自减类似Java
字符串和正则表达式
- 字符串三种表达形式
def a='23232'
def b="dsdsds"
def c="""fdffd
fdfddf
"""
- 基本操作:和Java类似
- 正则表达式
//定义正则表达式,开始为^,结束为$,+*{}
def reg= ~'hello'
!('sa'= ~ 'sd')
//精确匹配
'dssd'== ~'dfdf'
def reg= ~"fddf"
println(reg)
println('19220021'==~'[0-9]+')
列表,映射,范围
- 列表:存储数据项集合的数据结构,有序保存,相当于Java中的数组
def nums=[23,54,65];
//list
def a=[23,45,67,3,54,21,54]
println(a[1])//取值
println(a[2])
println(a[-2])
println(a.getAt(4))
println(a[1..2])
println(a[1..<5])
a<<23//追加
def b=[3,5]
println(a+b)//连接
println(a-[23])//删除
- 映射(Map):引用对象的无序集合。可通过关键字访问。相当于Java中的Map.(组合数组,字典,表格和散列)
def map=['zhang':'san','li':'si']//定义映射
def bb=[4:[3,4],7:[3,2]]
def cc=3
def dd=[cc:cc,3:cc]//元素关键字为变量名[cc:3, 3:3]
println(dd)
println(dd[cc])
- 范围:表达特定序列值的一种简略方法,图那个跟序列的第一个值和最后一个值表示,包括包含和不包含关系。
println(1900..1999)//20世纪(包含边界)
println(2000..<2100)//21世纪(不包含边界)
println(10..1)
println("A".."D")
基本输入输出
- 输出:print,println
格式化输出:printf(format,values)
def a=10
def b=15
printf("%d from %d gives %d\n",[a,b,a+b])
- 输入:
def a=10
def b=15
printf("%d from %d gives %d\n",[a,b,a+b])
print("Please enter your name:")