在Kotlin中,if
表达式返回一个值。它用于控制程序结构的流程。 在Kotlin中有各种类型的if
表达式。
if-else
表达式if-else if-else
阶梯表达式if
表达式传统if
语句的语法 -
if(condation){ //code statement }
传统if else
语句的语法 -
if(condation){ //code statement } else{ //code statement }
类似一个if
表达式,但它不是独立使用的,它与else
表达式一起使用,if-else
表达式的结果赋值给一个变量。
if-else
表达式的语法 -
val returnValue = if (condation) { //code statement } else { // code statement } println(returnValue)
Kotlin if-else表达式示例
fun main(args: Array<String>) { val num1 = 10 val num2 =20 val result = if (num1 > num2) { "$num1 is greater than $num2" } else { "$num1 is smaller than $num2" } println(result) }
执行上面示例代码,得到以下结果 -
10 is smaller than 20
可以通过只在一个语句中写表达式来删除if-else
主体的花括号。
例如:
fun main(args: Array<String>) { val num1 = 10 val num2 =20 val result = if (num1 > num2) "$num1 is greater than $num2" else "$num1 is smaller than $num2" println(result) }
在单行语句中使用if-else
表达式就像Java中的三元运算符一样。 Kotlin不支持任何三元运算符。
下面来看一个if-else if-else
阶梯表达式的例子。
fun main(args: Array<String>) { val num = 10 val result = if (num > 0){ "$num is positive" }else if(num < 0){ "$num is negative" }else{ "$num is zero" } println(result) }
执行上面示例代码,得到以下结果 -
10 is positive
下面来看看一个嵌套if
表达式的例子。
fun main(args: Array<String>) { val num1 = 25 val num2 = 20 val num3 = 30 val result = if (num1 > num2){ val max = if(num1 > num3){ num1 }else{ num3 } "body of if "+max }else if(num2 > num3){ "body of else if"+num2 }else{ "body of else "+num3 } println("$result") }
执行上面示例代码,得到以下结果 -
body of if 30