kotlin-分支表达式

290 阅读1分钟

if..else..

在java中If..Else..是一个语句,在kotlin中可以作为表达式。

java

if (age > 2) {
    return 1
} else {
    return 0
}

kotlin

return if (age > 2) {
       1
   } else {
       0
   }

kotlin中没有三元运算符,用if..else 替代三元运算符

c = a > b?a:b      c = if(a>b) a else b

when..

when类似java中switch,同样也可以作为表达式,每个分支最后一行作为表达式的返回值

c = when(a){
    0 -> 5
    1 -> 10
    else -> 0
}

when还可以将条件转移到分支

c = when{
    x is String -> x.length
    x == 1 -> 100
    else -> 0
}

try..catch..

try..catch..同样可以作为表达式

c = try {
    a/b
}catch (e:Exception){
    e.printStackTrace()
    0
}