📅  最后修改于: 2021-01-05 07:16:05             🧑  作者: Mango
在Kotlin中, if是一个表达式,该表达式返回一个值。用于控制程序结构的流程。 Kotlin中有多种if表达式类型。
传统if语句的语法
if(condation){
//code statement
}
传统if语句的语法
if(condation){
//code statement
}
else{
//code statement
}
好像它不是一个独立的表达式一样,它与if-else表达式一起使用,并且if-else表达式的结果分配到变量中。
if-else表达式的语法
val returnValue = if (condation) {
//code statement
} else {
// code statement
}
println(returnValue)
Kotlin if-else表达式示例
让我们看一个if-else表达式的例子。
fun main(args: Array) {
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) {
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梯形表达式的示例。
fun main(args: Array) {
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表达式的例子。
fun main(args: Array) {
val num1 = 25
val num2 = 20
val num3 = 30
val result = if (num1 > num2){
val max = if(num1 > num3){
num1
}else{
num3
}
"body of if "+max
}else if(num2 > num3){
"body of else if"+num2
}else{
"body of else "+num3
}
println("$result")
}
输出:
body of if 30