Kotlin, 当expression是返回值的条件表达式时。 Kotlin, 当表达式替换switch语句时。 Kotlin, 当表达式充当其他语言(Java, C ++, C)的switch语句时。
使用when作为表达式
我们来看一个简单的when表达式示例。
fun main(args: Array<
String>
){var number = 4var numberProvided = when(number) {1 ->
"One"2 ->
"Two"3 ->
"Three"4 ->
"Four"5 ->
"Five"else ->
"invalid number"}println("You provide $numberProvided")}
输出:
You provide Four
没有表情时使用
【Kotlin when表达式】当作为表达式使用时, 不是强制性的, 它可以像在其他语言中一样正常使用。
例如
fun main(args: Array<
String>
){var number = 4when(number) {1 ->
println("One")2 ->
println("Two")3 ->
println("Three")4 ->
println("Four")5 ->
println("Five")else ->
println("invalid number")}}
输出:
Four
使用花括号的多重陈述
我们可以使用条件块中包含的多个语句。
例如
fun main(args: Array<
String>
){var number = 1when(number) {1 ->
{println("Monday")println("First day of the week")}7 ->
println("Sunday")else ->
println("Other days")}}
输出:
MondayFirst day of the week
什么时候有多个分支
我们可以使用多个条件分支(用逗号分隔)。当我们需要为多个选择运行相同的逻辑时, 将使用它。
fun main(args: Array<
String>
){var number = 8when(number) {3, 4, 5, 6 ->
println("It is summer season")7, 8, 9 ->
println("It is rainy season")10, 11 ->
println("It is autumn season")12, 1, 2 ->
println("It is winter season")else ->
println("invalid input")}}
输出:
It is rainy season
在范围内时使用
when表达式还会检查when条件中提供的输入范围。使用..(双点)运算符创建范围。 in运算符用于检查值是否属于范围。
例如:
fun main(args: Array<
String>
){var number = 7when(number) {in 1..5 ->
println("Input is provided in the range 1 to 5")in 6..10 ->
println("Input is provided in the range 6 to 10")else ->
println("none of the above")}}
输出:
Input is provided in the range 6 to 10
推荐阅读
- Kotlin范围的工作
- Kotlin可见性修改器
- Kotlin变量
- Kotlin实用程序功能
- Java互操作性(从Java调用Kotlin代码)
- Java互操作性
- Kotlin不安全和安全的转换操作符
- Kotlin类型转换
- Kotlin教程介绍