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