1.正常使用
fun main(args: Array<String>) {
val age = 15
println(todo(age))
}
fun todo(age: Int) = when (age) {
7 -> "开始上小学"
12 -> "开始上中学"
15 -> "开始上高中"
18 -> "开始上大学"
else -> "开始上社会大学"
}
2.when加强
fun main(args: Array<String>) {
val age = 15
println(todo(age))
}
fun todo(age: Int) = when (age) {
in 1..6 -> "没有上小学"
7->"开始上小学"
in 8..11 -> "开始上中学"
in 12..15 -> "开始上高中"
in 16..18 -> "开始上大学"
else -> "开始上社会大学"
}
相比java,区间更加方便
3.kotlin中when表达式原理
可以看到编译后的java代码如下:
简单的when表达式通过switch语句来实现,复杂的when表达式通过if-else来实现
4.when表达式不带参数
fun main(args: Array<String>) {
val age = 15
println(todo(age))
}
fun todo(age: Int) =
when {
age == 7 -> "开始上小学"
age == 12 -> "开始上高中"
age == 15 -> "开始上大学"
else -> "开始上社会大学"
}
5.when表达式返回值
fun main(args: Array<String>) {
val age = 15
println(todo(age))
}
fun todo(age: Int): String {
return when {
age == 7 ->{
10//写"开始上小学后面会报错"
"开始上小学"
}
age == 12 -> "开始上高中"
age == 15 -> "开始上大学"
else -> "开始上社会大学"
}
}
when表达式的返回值在大括号最后一行
网友评论