天天看点

Groovy快速入门-5-switch分支和循环语句

上一篇快速过了一下操作运算符和if else判断语句,分支语句中,还有一个switch没有介绍。

1.switch分支

来一个成绩划分的例子

package com.anthony.demo


// switch分支语句
def int score = 99

switch(score) {
	case {0 < score && score < 60}:
		println("不及格")
		break
	case {60 < score && score <= 70}:
		println("及格")
		break
	case {70 < score && score <= 80}:
		println("良")
		break
	case {80 < score && score <= 90}:
		println("优秀")
		break
	case {90 < score && score <= 100}:
		println("A+")
		break
	default:
		println("良")
}



           

2.for循环

这个完全和Java中的for循环一样,就是我们平时写冒泡排序这个for循环。

package com.anthony.test

// for loop
for(int i=1; i<=5; i++) {
	println i
}
           

就是打印出1到5

3.for in 循环

这种循环在Java中叫增强型for循环,或者for each,和这个差不多。关键字in感觉是从python那边学习过来的。

package com.anthony.test

// for in loop
for(a in 1..5) {
	println a
}
           

运行结果是一样,1到5打印出来

一般使用for in 后面跟着一个list,或者map对象

package com.anthony.test

// for in loop
for(x in [2, 3, 4, 5]) {
	println x
}
           

来看一个map的例子

package com.anthony.test

// for in map
def map = ["name":"Groovy", "sbuject":"Automation"]
for(e in map) {
	print e.key + ":"
	println e.value
}
           

输出

name:Groovy
sbuject:Automation
           

4.upto关键字

还有upto关键字也可以实现这样效果

package com.anthony.test

// upto
1.upto(5) { 
	println "$it"
}
           

it就是表示循环中变量,这种固定写成it写法,以后在介绍闭包之后就会习惯,闭包中经常这样写。

5.times关键字

和upto类似效果,times关键字是默认从0开始。

package com.anthony.test

// times
5.times { println "$it" }
           

打印结果是0 1 2 3 4, 这个默认从0开始,注意下。

6.step关键字

就是从一个数开始,step表示步长,直接看下面例子来了解语法

package com.anthony.test

// step
1.step(10, 2) { println "$it" }
           

运行输出是 1 3 5 7 9, 不包含10,你把1改成0,输出0 2 4 6 8,没有10.

7.while循环

很简单的一个例子

package com.anthony.test

// while loop
int i = 1
while (i < 5) {
	println i
	i++
}