来源于:菜鸟教程
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运算符来判断集合内是否包含某实例