原文: 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 = -10
if (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 = -10
val result = if (number > 0) {
"Positive number"
} else {
"Negative number"
}
println(result)
}
运行该程序时,输出为:
Negative number
当使用if
作为表达式时,else
分支是必需的。
如果if
的主体只有一个语句,则花括号是可选的。 例如,
fun main(args: Array<String>) {
val number = -10
val result = if (number > 0) "Positive number" else "Negative number"
println(result)
}
这类似于 Java 中的三元运算符。因此,在 Kotlin 中没有三元运算符。
示例:具有多个表达式的if
块
如果if
分支的块包含多个表达式,则最后一个表达式作为该块的值返回。
fun main(args: Array<String>) {
val a = -9
val b = -11
val 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 = 0
val 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 = 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