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
为 false,则执行 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(以及许多其他编程语言)不同,Kotlin 中的 if
可以用作表达式;它会返回值。推荐阅读: Kotlin 表达式
这是一个示例
示例:Kotlin 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")
}
此程序检查 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