
在本文中,您将借助示例学习在Kotlin中使用 if 表达式。
if ... else 的传统用法
if ... else的语法为:
if (testExpression) {
   //如果testExpression为true,则运行代码
}
else {
  //如果testExpression为false,则运行代码
}如果 testExpression 的计算结果为 true,则 if 执行代码的特定部分。它可以有可选的 else 子句。如果 testExpression 为false,则执行 else 子句中的代码。
示例:if ... else 的传统用法
fun main(args: Array<String>) {
    val number = -10
    if (number > 0) {
        print("正数")
    } else {
        print("负数")
    }
}运行该程序时,输出为:
负数
Kotlin if 表达
与Java(以及其他许多编程语言)不同,if可以在Kotlin中使用表达式;它返回一个值。推荐阅读: Kotlin表达
这是一个实例:
示例:Kotin if 表达式
fun main(args: Array<String>) {
    val number = -10
    val result = if (number > 0) {
        "正数"
    } else {
        "负数"
    }
    println(result)
}运行该程序时,输出为:
负数
在将if用作表达式时,则else分支是必需的。
如果的主体if只有一个语句,则花括号是可选的。例如,
fun main(args: Array<String>) {
    val number = -10
    val result = if (number > 0) "正数" else "负数"
    println(result)
}这类似于Java中的三元运算符。因此,在Kotlin中没有三元运算符。
示例:if块具有多个表达式
如果 if 分支块包含多个表达式,则最后一个表达式作为该块的值返回。
fun main(args: Array<String>) {
    val a = -9
    val b = -11
    val max = if (a > b) {
        println("$a 大于 $b.")
        println("max变量保存a的值.")
        a
    } else {
        println("$b 大于 $a.")
        println("max变量保存b的值.")
        b
    }
    println("max = $max")
}运行该程序时,输出为:
-9 大于 -11. max变量保存a的值. max = -9
Kotlin if..else..if 阶梯
您可以使用 if..else...if 阶梯在Kotlin的许多块中返回一个代码块。
例如:if ... else ... if 阶梯
fun main(args: Array<String>) {
    val number = 0
    val result = if (number > 0)
        "正数"
    else if (number < 0)
        "负数"
    else 
        "零"
    
    println("数字为 $result")
}该程序检查 number 是正数、负数还是零。
Kotlin 嵌套if表达式
一个if表达式可以位于另一个if表达式的块内,称为嵌套if表达式。
示例:if 表达式嵌套
该程序计算三个数字中最大的数字。
fun main(args: Array<String>) {
    val n1 = 3
    val n2 = 5
    val n3 = -2
    val max = if (n1 > n2) {
        if (n1 > n3)
            n1
        else
            n3
    } else {
        if (n2 > n3)
            n2
        else
            n3
    }
    println("max = $max")
}运行该程序时,输出为:
max = 5