企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
# Kotlin `if`表达式 > 原文: [https://www.programiz.com/kotlin-programming/if-expression](https://www.programiz.com/kotlin-programming/if-expression) #### 在本文中,您将借助示例学习在 Kotlin 中使用`if`表达式。 ## `if...else`的传统用法 `if...else`的语法是: ```kt 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`的传统用法 ```kt fun main(args: Array<String>) { val number = -10 if (number > 0) { print("Positive number") } else { print("Negative number") } } ``` 运行该程序时,输出为: ```kt Negative number ``` * * * ## Kotlin `if`表达式 与 Java(以及其他许多编程语言)不同,`if`可以在 Kotlin 中用作表达式; 它返回一个值。 **推荐阅读**: [Kotlin 表达式](/kotlin-programming/statement-expression#expressions "Kotlin Expression") * * * 这是一个例子: ### 示例:Kotin `if`表达式 ```kt fun main(args: Array<String>) { val number = -10 val result = if (number > 0) { "Positive number" } else { "Negative number" } println(result) } ``` 运行该程序时,输出为: ```kt Negative number ``` 当使用`if`作为表达式时,`else`分支是必需的。 * * * 如果`if`的主体只有一个语句,则花括号是可选的。 例如, ```kt fun main(args: Array<String>) { val number = -10 val result = if (number > 0) "Positive number" else "Negative number" println(result) } ``` 这类似于 Java 中的[三元运算符](/java-programming/ternary-operator "Java ternary operator.")。因此,在 Kotlin 中没有三元运算符。 * * * ### 示例:具有多个表达式的`if`块 如果`if`分支的块包含多个表达式,则最后一个表达式作为该块的值返回。 ```kt 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") } ``` 运行该程序时,输出为: ```kt -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`阶梯 ```kt 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`表达式 该程序计算三个数字中最大的数字。 ```kt 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") } ``` 运行该程序时,输出为: ```kt max = 5 ```