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