条件控制
Kotlin条件控制中没有switch case,用when来替换switch case
if表达式
带返回值if表达式
在Kotlin中,if是一个表达式所以会返回一个值,表达式的值为表达式作用域最后一行的值.这个与Java是不同的;
//kotlin中不需要三目运算符
if (a > b) a else b
//判断是什么类型,用is
if (number is Int) {
println("This is Int")
}
when表达式
//在Kotlin中使用when表达式替代了类似C语言的switch-case语句,其中最简单的形式如下:
//when同样是有返回值的
fun eval(number: Number): String = when (number) {
200 -> "is 200"
200f -> {
println("200f")
"200f haha"
}
is Int -> "This is int number"
else -> "invalid number"
}
//kotlin1.3之后when后的参数可以动态赋值,1.3之前只能把getValue()写在when之前.
when(val value = getValue()) {
...
}
循环控制
与Java一致
数字区间迭代
//遍历区间,主意Kotlin的区间的包含是闭合的
for (i in 1..10) {
print("$i")
}
//输出结果:1 2 3 4 5 6 7 8 9 10
for (i in 1 until 10) {
print("$i")
}
//输出结果是:1 2 3 4 5 6 7 8 9
for(i in 10 downTo 1 step 2) {
print("$i")
}
//输出结果是:10 8 6 4 2
循环中的break 与 continue
- break: 终止最直接包围它的循环;
- continue:继续下一次最直接包围它的循环;