1、条件控制
1、if表达式
- 常规用法
if (x > 10) {
Log.i("TAG_ZLZ", " x 大于 10")
} else {
Log.i("TAG_ZLZ", " x = $x")
}
- 表达式
val max = if (x > y) x else y
val min = if (x < y) {
Log.i("TAG_ZLZ", "x 更小")
x
} else {
Log.i("TAG_ZLZ", "y 更小")
y
}
- 区间
if (x in 1..10) {
Log.i("TAG_ZLZ", "x 属于 1 ~ 10")
} else {
Log.i("TAG_ZLZ", "x 不属于 1 ~ 10")
}
2、when表达式
when 类似其他语言的 switch 操作符
when 将它的参数和所有的分支条件顺序比较,直到某个分支满足条件
when (x) {
in 1..5 -> Log.i("TAG_ZLZ", "x 属于 1 ~ 5")
6 -> Log.i("TAG_ZLZ", "x 为 6")
7 -> Log.i("TAG_ZLZ", "x 为 7")
8, 9, 10 -> Log.i("TAG_ZLZ", "x 为 8 或 9 或 10")
!in 11..20 -> Log.i("TAG_ZLZ", "x 不属于 11 ~ 20")
else -> Log.i("TAG_ZLZ", "x 不属于 1 ~ 20")
}
when (x) {
is Int -> Log.i("TAG_ZLZ", "x 是 Int")
else -> Log.i("TAG_ZLZ", "x 不是 Int")
}
val items = setOf("one", "two", "three")
when (item) {
in items -> Log.i("TAG_ZLZ", "item 是 $item")
else -> Log.i("TAG_ZLZ", "item 不属于集合")
}