Kotlin 支持数学中常见的逻辑条件:
您可以使用这些条件来针对不同的决策执行不同的操作。
Kotlin 有以下条件:
if
指定在指定条件为真时要执行的代码块else
指定在相同条件为 false 时要执行的代码块else if
如果第一个条件为 false,则指定要测试的新条件when
指定要执行的许多替代代码块笔记:与Java不同的是,if..else
可以用作声明或作为表达(为变量赋值)在 Kotlin 中。请参阅页面底部的示例以更好地理解它。
使用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 is greater than y"。
使用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
条件并打印到屏幕"Good evening"。如果时间小于18,程序将打印"Good day"。
使用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
- 并打印到屏幕"Good evening"。
但是,如果时间是 14,我们的程序将打印"Good day."
在 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 中的"ternary operator"(简写 if...else)。