kotlin学习小记9---语句和表达式

在kotlin中,if是表达式,而不是语句。语句和表达式的区别在于,表达式有值,并且可以作为另一个表达式的一部分使用;而语句是没有自己的值得。在java中,所有的控制结构都是语句。而在kotlin中,除了循环以外大多数控制结构都是表达式。

如:函数

fun max(a:Int,b:Int):Int{
    return if(a>b) a else b
}

因为该函数体是由单个表达式构成,所以可以去掉外部大括号和return:

fun max(a:Int,b:Int):Int = if(a>b) a else b

在kotlin中由于每个变量和表达式都有类型,每个函数都有返回类型,所以编译器会分析该表达式函数体中的表达式,并把它的类型作为函数的返回类型,即使没有显式地写出来,这种分析成为类型推导:

fun max(a:Int,b:Int) = if(a>b) a else b

你可能感兴趣的:(JAVA,android,安卓,kotlin)