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
}