if ... else 的传统用法
if ... else的语法为:
if (testExpression) {
//如果testExpression为true,则运行代码
}
else {
//如果testExpression为false,则运行代码
}
如果 testExpression 的计算结果为 true,则 if 执行代码的特定部分。它可以有可选的 else 子句。如果 testExpression 为false,则执行 else 子句中的代码。
示例:if ... else 的传统用法
fun main(args: Array<String>) {
val number = -10
if (number > 0) {
print("正数")
} else {
print("负数")
}
}
运行该程序时,输出为:
负数
Kotlin if 表达
与Java(以及其他许多编程语言)不同,if可以在Kotlin中使用表达式;它返回一个值。
示例:Kotin if 表达式
fun main(args: Array<String>) {
val number = -10
val result = if (number > 0) {
"正数"
} else {
"负数"
}
println(result)
}
运行该程序时,输出为:
负数
在将if用作表达式时,则else分支是必需的。
如果的主体if只有一个语句,则花括号是可选的。例如,
fun main(args: Array<String>) {
val number = -10
val result = if (number > 0) "正数" else "负数"
println(result)
}
这类似于Java中的三元运算符。因此,在Kotlin中没有三元运算符。
示例:if块具有多个表达式
如果 if 分支块包含多个表达式,则最后一个表达式作为该块的值返回。
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
Kotlin if..else..if 阶梯
您可以使用 if..else...if 阶梯在Kotlin的许多块中返回一个代码块。
例如:if ... else ... if 阶梯
fun main(args: Array<String>) {
val number = 0
val result = if (number > 0)
"正数"
else if (number < 0)
"负数"
else
"零"
println("数字为 $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