在Kotlin中,if是一个表达式,该表达式返回一个值。用于控制程序结构的流程。 Kotlin中有多种if表达式类型。
- if - else 表达式
- if - else if-else 表达式
- 嵌套 if 表达式
if 表达式
传统if语句的语法
if(condation){ //代码声明 }
传统if语句的语法
if(condation){ //代码声明 } else{ //代码声明 }
if - else 表达式
它不能独立使用,它与if-else表达式一起使用,并且将if-else表达式的结果分配给变量。
if-else表达式的语法
val returnValue = if (condation) { //代码声明 } else { //代码声明 } println(returnValue)
if - else表达式示例
让无涯教程看一个if-else表达式的例子。
fun main(args: Array<String>) { val num1 = 10 val num2 =20 val result = if (num1 > num2) { "$num1 is greater than $num2" } else { "$num1 is smaller than $num2" } println(result) }
输出:
10 is smaller than 20
无涯教程可以通过仅在一条语句中编写if表达式来删除if-else主体的花括号。
例如:
fun main(args: Array<String>) { val num1 = 10 val num2 =20 val result = if (num1 > num2) "$num1 is greater than $num2" else "$num1 is smaller than $num2" println(result) }
在单行语句中使用if-else表达式就像Java中的三元运算符。 Kotlin不支持任何三元运算符。
if - else if-else 表达式
让无涯教程看一下if-else if-else 表达式的示例。
fun main(args: Array<String>) { val num = 10 val result = if (num > 0){ "$num is positive" }else if(num < 0){ "$num is negative" }else{ "$num is zero" } println(result) }
输出:
10 is positive
嵌套 if 表达式
让无涯教程看一个嵌套if表达式的例子。
fun main(args: Array<String>) {
val num1 = 25
val num2 = 20
val num3 = 30
val result = if (num1 > num2){
val max </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">num1 </span><span class="pun">></span><span class="pln"> num3</span><span class="pun">){</span><span class="pln">
num1
</span><span class="pun">}</span><span class="kwd">else</span><span class="pun">{</span><span class="pln">
num3
</span><span class="pun">}</span><span class="pln">
</span><span class="str">"body of if "</span><span class="pun">+</span><span class="pln">max
</span><span class="pun">}</span><span class="kwd">else</span><span class="pln"> </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">num2 </span><span class="pun">></span><span class="pln"> num3</span><span class="pun">){</span><span class="pln">
</span><span class="str">"body of else if"</span><span class="pun">+</span><span class="pln">num2
</span><span class="pun">}</span><span class="kwd">else</span><span class="pun">{</span><span class="pln">
</span><span class="str">"body of else "</span><span class="pun">+</span><span class="pln">num3
</span><span class="pun">}</span><span class="pln">
println</span><span class="pun">(</span><span class="str">"$result"</span><span class="pun">)</span><span class="pln">
}
输出:
body of if 30