在本文中,您将借助示例学习在Kotlin中使用 if 表达式。
if ... else的语法为:
if (testExpression) { //如果testExpression为true,则运行代码 } else { //如果testExpression为false,则运行代码 }
如果 testExpression 的计算结果为 true,则 if 执行代码的特定部分。它可以有可选的 else 子句。如果 testExpression 为false,则执行 else 子句中的代码。
fun main(args: Array<String>) { val number = -10 if (number > 0) { print("正数") } else { print("负数") } }
运行该程序时,输出为:
负数
与Java(以及其他许多编程语言)不同,if可以在Kotlin中使用表达式;它返回一个值。推荐阅读: Kotlin表达
这是一个实例:
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 分支块包含多个表达式,则最后一个表达式作为该块的值返回。
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
您可以使用 if..else...if 阶梯在Kotlin的许多块中返回一个代码块。
fun main(args: Array<String>) { val number = 0 val result = if (number > 0) "正数" else if (number < 0) "负数" else "零" println("数字为 $result") }
该程序检查 number 是正数、负数还是零。
一个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