- 数据类型转换
*/
println str.toBoolean()//false
//强制转换为boolean
println str as boolean//true
//println str.toInteger()
/**
- 大小写
*/
println str.toLowerCase()//groovy hello huangxiaoguo
println str.toUpperCase()//GROOVY HELLO HUANGXIAOGUO
- 逻辑控制
println “------------------switch--------------------”
def x = “a”;
def result;
switch (x.class) { //这个相当于
case “a”:
result = “我是 a”
break
case ‘b’:
result = “我是 b”
break
case [4, 5, 6, ‘c’]😕/列表
result = “我是个数组”
break
case 10…50://范围
result = “我是10到50的数”
break
case Integer:
result = “我是Integer类型”
break
case BigDecimal:
result = “我是BigDecimal类型”
break
case String:
result = “我是String类型”
break
default:
result = “default”
break
}
println result//我是String类型
println “------------------switch--------------------”
/**
- 对范围的for循环
*/
def sum=0;
for (i in 0…9){
sum+=i;
}
println sum//45
/**
- 对list的循环
*/
def sum1=0;
for (i in [1,3,5,32,4,2,6,9,5,45,1]){
sum1+=i;
}
println sum1//113
/**
- 对Map进行循环
*/
def sum2=0;
for (i in [‘a’:1,“b”:2,“c”:“ha”]){
sum2+=i.value
}
println sum2//3ha
- 数据结构
/**
-
数据结构
-
范围
*/
def range=1…10;
println range[0]//1
println range.contains(10)//true
println range.contains(11)//false
println range.from//1
println range.to//10
/**
- 遍历
*/
//第一种
range.each {println it}
//第二种
for (i in range){
println i
}
/**
-
范围使用
-
@param number
*/
def getGrade(Number number){
def result
switch (number){
case 0…<60:
result=‘不及格’
break
case 60…<70:
result=‘及格’
break
case 70…79:
result=‘良好’
break
case 80…<100:
result=‘优秀’
break
}
return result
}
def result=getGrade(80)
println result//优秀
/**
-
数据结构
-
列表
*/
println “------------------------------------------------列表的定义-----------------------------------------”
//def list =new ArrayList()//java的定义方式
def list = [1, 2, 3, 4, 5]
println list.class//ArrayList
def array = [1, 2, 3, 4, 5] as int[]
int[] array2 = [1, 2, 3, 4, 5]
println array.class//数组
println array2.class//数组
println “------------------------------------------------列表的排序-----------------------------------------”
/**
- java的方式
*/
def sortList = [6, 12, 1, -8, 5, -2, 5, 55]
Comparator mc = { a, b -> a == b ? 0 : Math.abs(a) < Math.abs(b) ? -1 : 1 }
Collections.sort(sortList, mc)
println sortList
/**
- groovy的方式
*/
def sortList1 = [6, 12, 1, -8, 5, -2, 55]
sortList1.sort { a, b -> a == b ? 0 : Math.abs(a) < Math.abs(b) ? 1 : -1 }
println sortList1
def sortStringList = [‘abc’, ‘z’, ‘huang’, ‘hello’, ‘groovy’]
sortStringList.sort { it -> return it.size() }
println sortStringList
println “------------------------------------------------列表的查找-----------------------------------------”
def findList = [-3, 6, 2, 7, -9, 1, 5]
int result = findList.find { return it % 2 == 0 }
println result//6
def result1 = findList.findAll { return it % 2 != 0 }
println result1.toListString()//[-3, 7, -9, 1, 5]
def result2 = findList.any { return it % 2 != 0 }
println result2//true
def result3 = findList.every { return it % 2 != 0 }
println result3//false
def result4 = findList.min()
println result4//-9
def result5 = findList.max()
println result5//7
def result6 = findList.min { return Math.abs(it) }
println result6//1
def result7 = findList.max { return Math.abs(it) }
println result7//-9
def count = findList.count { return it % 2 == 0 }
println count//2
/**
-
数据结构
-
映射
*/
println “------------------------------------------------map的定义-----------------------------------------”
//def list =new HashMap()//java的定义方式
def colors = [red : ‘ff0000’,
green: ‘00ff00’,
blue : ‘0000ff’]
def colors1 = [red1 : ‘ff0000’,
green1: ‘00ff00’,
blue1 : ‘0000ff’]
/**
- 索引方式
*/
println colors[‘green’]
println colors.blue
/**
- 添加元素
*/
colors.yellow = ‘ffff00’
colors.compute = [a: 1, b: 2]
colors.putAll(colors1)
colors.remove(“red1”)
println colors.toMapString()
println colors.getClass()//LinkedH