Logo
Section 1 / 3

使用 `if` 的条件判断

学习如何使用 Kotlin 的 `if` 条件语句,以及比较运算符和逻辑运算符。

检查点

使用 `if` 的条件判断

学习如何使用 Kotlin 的 `if` 条件语句,以及比较运算符和逻辑运算符。

对于条件控制流,Kotlin 使用 if 和 when 关键字。if 块的语法与 C 和 Java 相同。类似地,when 关键字类似于这些语言中的 switch,但功能更强大,你将在后续学习中了解这一点。

使用 if 的条件判断

使用 if 的条件判断可以这样写:

1if (planet == "Jupiter") { 2 println("木星的半径是 69,911 公里") 3} else if (planet == "Saturn") { 4 println("土星的半径是 58,232 公里") 5} else { 6 println("没有关于行星 $planet 的数据") 7}

每个条件后跟一个用大括号包围的代码块。可以有任意数量的 else if 块(包括零个),最多只能有一个 else 块。

注意: 在 else 块中,通过 字符串插值 将变量 planet 包含在输出字符串中。只需在变量前加上 $ 即可。更复杂的表达式需要用大括号包裹:"${user.name} 登录了"。

相等性和比较运算符

Kotlin 用于构建条件的运算符如下:

运算符含义
==结构相等(“equals”)
!=结构不相等(“!equals”)
===引用相等(相同内存地址)
!==引用不相等
>大于
<小于
>=大于或等于
<=小于或等于

请注意,比较运算符可以通过调用 Comparable 类型的 compareTo 方法作用于任何实现了该接口的类型。

对 Java 开发者的提示: 在 Kotlin 中,你应该使用 == 来代替 Java 中的 equals,而使用 === 来代替 Java 中的 ==。

逻辑运算符

为了从基本条件(使用上述运算符)构建更复杂的条件,Kotlin 提供了标准的逻辑运算符:

运算符含义
&&逻辑“与”
`
!逻辑“非”

利用这些运算符,你可以组合多个基本条件:

1if (planet == "Jupiter" || planet == "Saturn" || planet == "Uranus" || planet == "Neptune") { 2 println("你选择的行星有环,通常由岩石和冰块组成") 3}

测验

练习

完成以下代码片段,以检查以下内容:

  1. age 变量是否在 18 到 21 之间(包含边界)。
  2. username 变量是否等于 "admin" 或 "system"。
  3. number 变量既不等于 17 也不等于 42。

问题

1// 注意:在此代码区域中,你可以访问预定义的变量 age、username 和 number。 2 3// 检查年龄 4 5 6// 检查用户名 7 8 9// 检查数字

解答

1// 检查年龄 2if (age in 18..21) { 3 println("年龄在 18 到 21 之间") 4} else { 5 println("年龄不在 18 到 21 之间") 6} 7 8// 检查用户名 9if (username == "admin" || username == "system") { 10 println("用户拥有管理员权限") 11} else { 12 println("用户没有管理员权限") 13} 14 15// 检查数字 16if (number != 17 && number != 42) { 17 println("这个数字既不是 17 也不是 42") 18} else { 19 println("这个数字是 17 或 42") 20}

总结

  • Kotlin 的 if 条件与 Java 或 C 等其他语言的工作方式完全相同。
  • 逻辑和比较运算符也常见于其他语言。
    • 但与 Java 不同的是,Kotlin 提供了 == 用于结构相等性检查,=== 用于引用相等性检查。

在下一课中,你将学习使用 when 语句进行条件控制流,并了解何时应优先使用它而非 if。

Quiz

单选题

如何表达条件“文本为空或至少包含3个字符”?

1 / 1

变量和数据类型

使用 `when` 的条件判断