Kotlin If ... Else
Kotlin 条件语句和 If..Else
Kotlin 支持数学中常用的逻辑条件
- 小于: a < b
- 小于或等于: a <= b
- 大于: a > b
- 大于或等于: a >= b
- 等于 a == b
- 不等于: a != b
你可以使用这些条件来针对不同的决策执行不同的操作。
Kotlin 具有以下条件语句
- 使用
if
指定一段代码块,如果指定的条件为真则执行这段代码块 - 使用
else
指定一段代码块,如果相同的条件为假则执行这段代码块 - 使用
else if
指定一个新的条件进行测试,如果第一个条件为假 - 使用
when
指定多个可选的代码块,以供执行
注意: 不同于 Java,if..else
可以用作语句或表达式(为变量赋值)在 Kotlin 中。在页面底部查看一个例子,以更好地理解它。
Kotlin if
使用 if
指定一段代码块,如果条件为 true
,则执行这段代码块。
语法
if (condition) {
// block of code to be executed if the condition is true
}
注意 if
是小写字母。大写字母(If 或 IF)会生成错误。
在下面的例子中,我们测试两个值,以确定 20 是否大于 18。如果条件为 true
,则打印一些文本
我们也可以测试变量
示例解释
在上面的例子中,我们使用两个变量 x 和 y 来测试 x 是否大于 y(使用 >
运算符)。由于 x 为 20,y 为 18,并且我们知道 20 大于 18,因此我们在屏幕上打印 "x 大于 y"。
Kotlin else
使用 else
指定一段代码块,如果条件为 false
,则执行这段代码块。
语法
if (condition) {
// block of code to be executed if the condition is true
} else {
// block of code to be executed if the condition is false
}
示例
val time = 20
if (time < 18) {
println("Good day.")
} else {
println("Good evening.")
}
// Outputs "Good evening."
自己尝试 »
示例解释
在上面的例子中,时间(20)大于 18,所以条件为 false
,所以我们继续执行 else
条件,并在屏幕上打印 "晚上好"。如果时间小于 18,程序将打印 "早上好"。
Kotlin else if
使用 else if
指定一个新的条件,如果第一个条件为 false
,则执行该条件。
语法
if (condition1) {
// block of code to be executed if condition1 is true
} else if (condition2) {
// block of code to be executed if the condition1 is false and condition2 is true
} else {
// block of code to be executed if the condition1 is false and condition2 is false
}
示例
val time = 22
if (time < 10) {
println("Good morning.")
} else if (time < 20) {
println("Good day.")
} else {
println("Good evening.")
}
// Outputs "Good evening."
自己尝试 »
示例解释
在上面的例子中,时间(22)大于 10,所以第一个条件为 false
。在 else if
语句中的下一个条件也为 false
,所以我们继续执行 else
条件,因为条件 1 和条件 2 都为 false
- 并在屏幕上打印 "晚上好"。
然而,如果时间为 14,我们的程序将打印 "早上好"。
Kotlin If..Else 表达式
在 Kotlin 中,你也可以使用 if..else
语句作为表达式(为变量赋值并返回它)
示例
val time = 20
val greeting = if (time < 18) {
"Good day."
} else {
"Good evening."
}
println(greeting)
自己尝试 »
当使用 if
作为表达式时,你还必须包含 else
(必需)。
注意: 当 if
只有一个语句时,你可以省略花括号 {}
示例
fun main() {
val time = 20
val greeting = if (time < 18) "Good day." else "Good evening."
println(greeting)
}
自己尝试 »
提示: 这个例子类似于 Java 中的 "三元运算符"(if...else 的简写)。