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

Kotlin 布尔值

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

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

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

布尔值

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

示例

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 

布尔表达式

布尔表达式返回一个布尔值:truefalse

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

示例

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 是小写字母。大写字母(IfIF)会产生错误。

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

示例

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

我们还可以测试变量:

示例

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

示例解释

在上面的示例中,我们使用两个变量 xy 来测试 x 是否大于 y(使用 > 运算符)。由于 x20y18,并且我们知道 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."

示例解释

在上面的示例中,time20)大于 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."

示例解释

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

然而,如果 time14,我们的程序会打印 "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,关注后即可获取最新文章推送

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

相关推荐
ZK_H5 分钟前
嵌入式c语言——关键字其6
c语言·开发语言·计算机网络·面试·职场和发展
特长腿特长8 分钟前
centos、ubantu系列机的用户和用户组的结构是什么?具体怎么配置?用户组权限怎么使用?这篇文章持续更新,帮助你复习linux的基础知识
linux·运维·centos
zzzyyy53811 分钟前
Linux环境变量
linux·运维·服务器
pluvium2740 分钟前
记对 xonsh shell 的使用, 脚本编写, 迁移及调优
linux·python·shell·xonsh
无级程序员1 小时前
centos7 安装 llvm-toolset-7-clang出错的问题解决
linux·centos
CHHC18801 小时前
NetCore树莓派桌面应用程序
linux·运维·服务器
虚无境1 小时前
关于10年工作经验的程序员对OpenClaw的实战经验分享以及看法
程序员·openai·ai编程
fei_sun2 小时前
面经、笔试(持续更新中)
fpga开发·面试
人间打气筒(Ada)3 小时前
「码动四季·开源同行」HarmonyOS应用开发:常见组件
华为·开源·harmonyos·组件·布局·鸿蒙开发