groovy入门2 流程控制

来源:互联网 发布:中日互译软件 编辑:程序博客网 时间:2024/06/09 19:52
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++  
}  
0 0
原创粉丝点击