IF 表达式
一个 if 语句包含一个布尔表达式和一条或多条语句。
fun m10(b:Int){
val a = 10
var max: Int
/*一般形式*/
if (a < b){
max = b
print(max)
}
//带else的if条件
if (a < b) a else b
/*将结果赋值变量*/
val m = if (a < b) a else b
/*区间*/
var v:Int = 0
if (v in 1..8){
print(v)
}else{
}
}
When 表达式
when 将它的参数和所有的分支条件顺序比较,直到某个分支满足条件。
when 既可以被当做表达式使用也可以被当做语句使用。如果它被当做表达式,符合条件的分支的值就是整个表达式的值,如果当做语句使用, 则忽略个别分支的值。
when 类似其他语言的 switch 操作符。其最简单的形式如下:
fun m11(a:Any){
when(a){
//TODO
/*如果为字符串*/
is String ->{ }
/*a在1-50区间内执行{TODO}*/
in 1..50 ->{ Log.v("======when========","${'a'}=$a")}
!in 1..10 ->{ }
1->{ Log.v("======when========","${'a'}=$a") }
2->{ Log.v("======when========","${'a'}=$a") }
else -> {
/*不满足以上所有条件 执行默认*/
}
}
}
fun m12(a : Any) = when(a){
a is Long ->{}
in 1..100 ->{}
else -> {
}
}
使用when可以取代if else if
when{
"ss" is String ->{}
10 is Int -> {}
else ->{
}
}