1 if else的判断控制
if判断条件中不仅可以是JAVA中的true和false,也可以是其他对象
如果是字符串对象,如果字符串为空,或空字符串都认为假
如果是集合,如果集合为空指针,或空对象都认为假等等条件
例子如下
def s1 = ''
if(s1){
println true
}else {
println false
}
2 switch case
groovy中的switch功能非常强大,可以处理字符串,同时case中格式更为宽泛,既可以指定范围,又可以指定数组。例子如下:
def result
def score = 'A'
switch(score){
case 0..60:
result ='D'
break
case 61..70://case中支持范围
result = 'C'
break
case 71..89:
result = 'B'
break
case 90..99:
result = 'A'
break
case 100:
result = 'A+'
break
case ['A+','A','B','C','D']:
result = 'A'
break;
}
println result
3 for 循环形式较多,例如;
3.1 Groovy 列表迭代
def list = ["Java", "Groovy", "JavaScript"]
list.each{language->
println language
}
3.2 使用 Groovy 的
it
变量的迭代
def list = ["Java", "Groovy", "JavaScript"]
list.each{ println it }
3.3 Groovy 数组迭代
def list = ["Java", "Groovy", "JavaScript"] as String[]
list.each{println it}
3.4 从 map 获得键和值
def map = ["Java":"server", "Groovy":"server", "JavaScript":"web"]
map.each{
println it.key
println it.value
}
3.5 新风格
for (i in 0 .. 9) { // (i in 0 .. 9)表示循环从i=0开始,到i<=9时结束
print i + " "
}
3.6
5.times{//[0,5)
print it +" "
}
3.7
5.upto(10){//[5,10]
print it+" "
}
3.8
5.times{//【0,5)
print it + " "
}
3.9
0.step(12,2){//[0,12)
print it + ' '
}
4 while循环和其他语言没有太大差别,例如
n = 0
while (n < 10) {
print n + " "
n++
}