在本文中,您將借助示例學(xué)習(xí)在Kotlin中使用 if 表達(dá)式。
if ... else的語(yǔ)法為:
if (testExpression) {
//如果testExpression為true,則運(yùn)行代碼
}
else {
//如果testExpression為false,則運(yùn)行代碼
}如果 testExpression 的計(jì)算結(jié)果為 true,則 if 執(zhí)行代碼的特定部分。它可以有可選的 else 子句。如果 testExpression 為false,則執(zhí)行 else 子句中的代碼。
fun main(args: Array<String>) {
val number = -10
if (number > 0) {
print("正數(shù)")
} else {
print("負(fù)數(shù)")
}
}運(yùn)行該程序時(shí),輸出為:
負(fù)數(shù)
與Java(以及其他許多編程語(yǔ)言)不同,if可以在Kotlin中使用表達(dá)式;它返回一個(gè)值。推薦閱讀: Kotlin表達(dá)
這是一個(gè)實(shí)例:
fun main(args: Array<String>) {
val number = -10
val result = if (number > 0) {
"正數(shù)"
} else {
"負(fù)數(shù)"
}
println(result)
}運(yùn)行該程序時(shí),輸出為:
負(fù)數(shù)
在將if用作表達(dá)式時(shí),則else分支是必需的。
如果的主體if只有一個(gè)語(yǔ)句,則花括號(hào)是可選的。例如,
fun main(args: Array<String>) {
val number = -10
val result = if (number > 0) "正數(shù)" else "負(fù)數(shù)"
println(result)
}這類(lèi)似于Java中的三元運(yùn)算符。因此,在Kotlin中沒(méi)有三元運(yùn)算符。
如果 if 分支塊包含多個(gè)表達(dá)式,則最后一個(gè)表達(dá)式作為該塊的值返回。
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")
}運(yùn)行該程序時(shí),輸出為:
-9 大于 -11. max變量保存a的值. max = -9
您可以使用 if..else...if 階梯在Kotlin的許多塊中返回一個(gè)代碼塊。
fun main(args: Array<String>) {
val number = 0
val result = if (number > 0)
"正數(shù)"
else if (number < 0)
"負(fù)數(shù)"
else
"零"
println("數(shù)字為 $result")
}該程序檢查 number 是正數(shù)、負(fù)數(shù)還是零。
一個(gè)if表達(dá)式可以位于另一個(gè)if表達(dá)式的塊內(nèi),稱(chēng)為嵌套if表達(dá)式。
該程序計(jì)算三個(gè)數(shù)字中最大的數(shù)字。
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")
}運(yùn)行該程序時(shí),輸出為:
max = 5