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不同,Kotlin 的if..else 可以用作语句表达式(为变量赋值)。 请参阅页面底部的示例以更好地理解它。


Kotlin if

使用if指定条件为 true 时要执行的代码块。

语法

if (condition) {
  // 条件为真时执行的代码块
}

请注意,if 是小写字母。 大写字母(If 或 IF)会产生错误。

在下面的例子中,我们测试两个值来判断 20 是否大于 18。如果条件为 true,打印一些文本:

实例

if (20 > 18) {
  println("20 is greater than 18")
}
亲自试一试 »

我们也可以测试变量:

实例

val x = 20
val y = 18
if (x > y) {
  println("x is greater than y")
}
亲自试一试 »

示例说明

在上面的例子中,我们使用了两个变量,xy,来测试 x 是否大于 y(使用 > 运算符)。 由于 x 是 20,y 是 18,并且我们知道 20 大于 18,所以我们在屏幕上打印“x 大于 y”。



Kotlin else

使用else指定条件为 false 时要执行的代码块。

语法

if (condition) {
  // 条件为真时执行的代码块
} else {
  // 条件为假时要执行的代码块
}

实例

val time = 20
if (time < 18) {
  println("Good day.")
} else {
  println("Good evening.")
}
// 输出 "Good evening."
亲自试一试 »

示例说明

在上面的例子中,时间(20)大于18,所以条件是false,所以我们继续else 条件并打印到屏幕"Good evening"。 如果时间小于 18,程序将打印"Good day"。


Kotlin else if

如果第一个条件是 false,则使用else if指定一个新条件。

语法

if (condition1) {
  // 如果条件 1 为真,则要执行的代码块
} else if (condition2) {
  // 如果条件 1 为假且条件 2 为真,则要执行的代码块
} else {
  // 如果条件1为假且条件2为假时要执行的代码块
}

实例

val time = 22
if (time < 10) {
  println("Good morning.")
} else if (time < 20) {
  println("Good day.")
} else {
  println("Good evening.")
}
// 输出 "Good evening."
亲自试一试 »

示例说明

在上面的例子中,时间 (22) 大于 10,所以 第一个条件falseelse if 语句中的下一个条件也是 false,所以我们继续进行 else 条件,因为 condition1condition2 都是 false - 并打印到屏幕上"Good evening"。

但是,如果时间是 14 点,我们的程序会打印"Good day"。


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)。