Kotlin 布尔值教程:深入理解与应用示例

Kotlin 布尔值

在编程中,您经常需要一种只能有两个值的数据类型,例如:

  • 是 / 否
  • 开 / 关
  • 真 / 假

为此,Kotlin 有一种布尔数据类型,可以取 true 或 false 值。

布尔值

布尔类型可以用 Boolean 关键字声明,并且只能取 true 或 false 值:

示例

kotlin 复制代码
val isKotlinFun: Boolean = true
val isFishTasty: Boolean = false
println(isKotlinFun)   // 输出 true
println(isFishTasty)   // 输出 false 

就像您在前几章中学到的其他数据类型一样,上面的示例也可以在不指定类型的情况下编写,因为 Kotlin 足够智能,可以理解变量是布尔类型:

示例

kotlin 复制代码
val isKotlinFun = true
val isFishTasty = false
println(isKotlinFun)   // 输出 true
println(isFishTasty)   // 输出 false 

布尔表达式

布尔表达式返回一个布尔值:true 或 false。

您可以使用比较运算符,例如大于(>)运算符,来判断表达式(或变量)是否为真:

示例

kotlin 复制代码
val x = 10
val y = 9
println(x > y) // 返回 true,因为 10 大于 9

或者更简单:

示例

kotlin 复制代码
println(10 > 9) // 返回 true,因为 10 大于 9

在下面的示例中,我们使用等于(==)运算符来评估表达式:

示例

kotlin 复制代码
val x = 10
println(x == 10) // 返回 true,因为 x 的值等于 10

示例

kotlin 复制代码
println(10 == 15) // 返回 false,因为 10 不等于 15

表达式的布尔值是所有 Kotlin 比较和条件的基础。

在下一章中,您将学习更多关于条件的内容。

Kotlin 条件和 If..Else

Kotlin 支持数学中的常见逻辑条件:

  • 小于:a < b
  • 小于或等于:a <= b
  • 大于:a > b
  • 大于或等于:a >= b
  • 等于:a == b
  • 不等于:a != b

您可以使用这些条件为不同的决策执行不同的操作。

Kotlin 有以下条件语句:

  • 使用 if 指定在条件为 true 时要执行的一段代码
  • 使用 else 指定在条件为 false 时要执行的一段代码
  • 使用 else if 在第一个条件为 false 时测试新的条件
  • 使用 when 指定多个替代代码块来执行

注意:与 Java 不同,if..else 可以在 Kotlin 中用作语句或表达式(为变量赋值)。请参阅页面底部的示例以更好地理解它。

Kotlin if

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

语法

kotlin 复制代码
if (condition) {
  // 如果条件为 true 要执行的代码块
}

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

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

示例

kotlin 复制代码
if (20 > 18) {
  println("20 大于 18")
}

我们还可以测试变量:

示例

kotlin 复制代码
val x = 20
val y = 18
if (x > y) {
  println("x 大于 y")
}

示例解释

在上面的示例中,我们使用两个变量 x 和 y 来测试 x 是否大于 y(使用 > 运算符)。由于 x 是 20,y 是 18,并且我们知道 20 大于 18,因此我们在屏幕上打印 "x 大于 y"。

Kotlin else

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

语法

kotlin 复制代码
if (condition) {
  // 如果条件为 true 要执行的代码块
} else {
  // 如果条件为 false 要执行的代码块
}

示例

kotlin 复制代码
val time = 20
if (time < 18) {
  println("Good day.")
} else {
  println("Good evening.")
}
// 输出 "Good evening."

示例解释

在上面的示例中,time(20)大于 18,因此条件为 false,因此我们转到 else 条件并在屏幕上打印 "Good evening"。如果 time 小于 18,程序会打印 "Good day"。

Kotlin else if

使用 else if 在第一个条件为 false 时指定一个新条件。

语法

kotlin 复制代码
if (condition1) {
  // 如果 condition1 为 true 要执行的代码块
} else if (condition2) {
  // 如果 condition1 为 false 且 condition2 为 true 要执行的代码块
} else {
  // 如果 condition1 和 condition2 都为 false 要执行的代码块
}

示例

kotlin 复制代码
val time = 22
if (time < 10) {
  println("Good morning.")
} else if (time < 20) {
  println("Good day.")
} else {
  println("Good evening.")
}
// 输出 "Good evening."

示例解释

在上面的示例中,time(22)大于 10,因此第一个条件为 false。在 else if 语句中的下一个条件也为 false,因此我们转到 else 条件,因为 condition1 和 condition2 都为 false,并在屏幕上打印 "Good evening"。

然而,如果 time 是 14,我们的程序会打印 "Good day"。

Kotlin If..Else 表达式

在 Kotlin 中,您还可以将 if..else 语句用作表达式(为变量赋值并返回):

示例

kotlin 复制代码
val time = 20
val greeting = if (time < 18) {
  "Good day."
} else {
  "Good evening."
}
println(greeting)

使用 if 作为表达式时,您还必须包含 else(必需)。

注意:如果 if 只有一个语句,可以省略大括号 {}:

示例

kotlin 复制代码
fun main() {
  val time = 20
  val greeting = if (time < 18) "Good day." else "Good evening."
  println(greeting)
}

提示:这个示例类似于 Java 中的"三元运算符"(简写的 if...else)。

最后

为了方便其他设备和平台的小伙伴观看往期文章:

微信公众号搜索:Let us Coding,关注后即可获取最新文章推送

看完如果觉得有帮助,欢迎 点赞、收藏、关注

相关推荐
David猪大卫1 天前
【Linux修炼】环境变量、进程地址空间
linux·c语言·经验分享·笔记·学习·ubuntu·centos
陈随易1 天前
Vue 编译器换掉 source map,快了三四成
前端·后端·程序员
叼烟扛炮1 天前
Linux 学习笔记(五十六):IO 多路复用初探——select 的“三宗罪”
linux·服务器·数据库·笔记·学习·php
Ruiery1 天前
Linux 6.6内核内存管理深度解析(十五):CMA 连续内存分配器
linux·运维·服务器
皮皮林5511 天前
40亿个QQ号,限制1G内存,如何去重?
程序员
测试界的小码农1 天前
【Linux 命令实战(01):认识 Linux 终端,从零掌握第一个命令】
linux·运维·服务器
冬奇Lab1 天前
一天一个开源项目(第255篇):Mika —— 装在安卓手机里的 AI 代理,在后台虚拟屏上替你操作 App 和网页
人工智能·开源·资讯
布裘1 天前
【银河麒麟】重启后时区丢失?排查发现 localtime 被业务程序替换成硬链接
linux·运维·网络
孟健1 天前
实测 agent-desktop:AI 控制桌面不截图、不占鼠标键盘,连点 55 次计算器 0 失误
人工智能·架构·开源
nice_lcj5201 天前
Java Lambda 表达式入门:怎么写、怎么用、常用方法有哪些
java·开发语言·后端·面试