3.3条件表达式 if-else

在 Kotlin 中,if是一个表达式,即它会返回一个值。 因此就不需要三元运算符(条件 ? 然后 : 否则),因为普通的 if 就能胜任这个角色。

// 传统用法
var max = a
if (a < b) max = b
// With else
var max: Int
if (a > b) {
	max = a
} else {
	max = b
}
// 作为表达式
val max = if (a > b) a else b

试一把

if的分支可以是代码块,最后的表达式作为该块的值:

val max = if (a > b) {
    println("Choose a")
    a //分支的最后一个表达式作为该块的值
} else {
    println("Choose b")
    b //分支的最后一个表达式作为该块的值
}

试一把

如果你使用 if 作为表达式而不是语句(例如:返回它的值或者 把它赋给变量),该表达式需要有 else 分支。

结合in

val a = 3

if(a in 1 .. 10){
    println("has a")
}else{
    println("has't a")
}

试一把

最后附上示例项目Github


[上一篇:3.2运算符 in,is,as] [返回目录] [下一篇:3.4循环语句 for,while,when]