上一篇快速过了一下操作运算符和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++
}