来源于:菜鸟教程
if表达式
一个if语句包含一个布尔表达式和一条或多条语句。
//传统用法
var max = a
if (a < b) max=b
//使用else
var max:Int
if(a > b){
max = a
}else{
max = b
}
//作为表达式 可以替代Java的三元操作符
val max = if (a > b) a else b
示例:

使用区间
使用in运算符来检测某个数字是否在指定区间内,区间格式: x..y

when 表达式
when 将它的参数和所以分支条件顺序比较,直到某个分支满足条件。
when既可以被当作表达式使用也可以被当作语句使用。如果它被当作表达式。符合条件的分支的值就是整个表达式的值,如果当作语句使用,则忽略个别分支的值。
类似于switch。
dome1:

else如同default。
如果很多分支需要用相同的方式处理,则可以把多个分支放在一起,用逗号隔开

我们也可以检测一个值在(in)或者不在(!in)一个区间或者集合中:

另一种可能性是检测一个值是(is)或者不是(!is)一个特定类型的值。注意:由于智能转换,你可以访问该类型的方法和属性而无需任何的检测。

when也可以用来取代if-else if链,如果不提供参数,所有的分支条件都是简单的布尔表达式。而当一个分支的条件为真时则执行该分支:

实例:

when 中使用in运算符来判断集合内是否包含某实例
