首页 星云 工具 资源 星选 资讯 热门工具
:

PDF转图片 完全免费 小红书视频下载 无水印 抖音视频下载 无水印 数字星空

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

编程知识
2024年08月05日 14:23

Kotlin 布尔值

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

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

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

布尔值

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

示例

val isKotlinFun: Boolean = true
val isFishTasty: Boolean = false
println(isKotlinFun)   // 输出 true
println(isFishTasty)   // 输出 false 

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

示例

val isKotlinFun = true
val isFishTasty = false
println(isKotlinFun)   // 输出 true
println(isFishTasty)   // 输出 false 

布尔表达式

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

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

示例

val x = 10
val y = 9
println(x > y) // 返回 true,因为 10 大于 9

或者更简单:

示例

println(10 > 9) // 返回 true,因为 10 大于 9

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

示例

val x = 10
println(x == 10) // 返回 true,因为 x 的值等于 10

示例

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 时要执行的一段代码。

语法

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

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

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

示例

if (20 > 18) {
  println("20 大于 18")
}

我们还可以测试变量:

示例

val x = 20
val y = 18
if (x > y) {
  println("x 大于 y")
}

示例解释

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

Kotlin else

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

语法

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

示例

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 时指定一个新条件。

语法

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

示例

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 语句用作表达式(为变量赋值并返回):

示例

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

最后

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

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

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

From:https://www.cnblogs.com/xiaowange/p/18343303
本文地址: http://shuzixingkong.net/article/810
0评论
提交 加载更多评论
其他文章 数据库与我:一段关于学习与成长的深情回顾
然而,近来我觉察到国产数据库的发展十分活跃。连我这样一个普通的程序员都能接触到部分信息,这说明国产数据库的关键时刻已经到来。正如文中所述,国产数据库的发展既是机遇也是挑战。在这个竞争激烈的市场上,只有少数公司能够生存下来,取决于谁能够获得更多的市场支持和客户案例。
数据库与我:一段关于学习与成长的深情回顾 数据库与我:一段关于学习与成长的深情回顾 数据库与我:一段关于学习与成长的深情回顾
Java RMI技术详解与案例分析
Java RMI(Remote Method Invocation)是一种允许Java虚拟机之间进行通信和交互的技术。它使得远程Java对象能够像本地对象一样被访问和操作,从而简化了分布式应用程序的开发。一些应用依然会使用 RMI 来实现通信和交互,今天的内容我们来聊聊 RMI 的那些事儿。 一、先
iOS开发基础148-ABM vs MDM
详细了解Apple Business Manager(ABM)和Mobile Device Management(MDM) 企业在选择设备管理方案时,常常面对ABM和MDM的选择。ABM和MDM各有其独特的优点和限制,并且结合使用能带来更加灵活和强大的设备管理能力。本文将深入比较ABM和MDM的不同
《数据资产管理核心技术与应用》读书笔记-第一章:认识数据资产
《数据资产管理核心技术与应用》是清华大学出版社出版的一本图书,全书共分10章,第1章主要让读者认识数据资产,了解数据资产相关的基础概念,以及数据资产的发展情况。第2~8章主要介绍大数据时代数据资产管理所涉及的核心技术,内容包括元数据的采集与存储、数据血缘、数据质量、数据监控与告警、数据服务、数据权限
《数据资产管理核心技术与应用》读书笔记-第一章:认识数据资产 《数据资产管理核心技术与应用》读书笔记-第一章:认识数据资产 《数据资产管理核心技术与应用》读书笔记-第一章:认识数据资产
C#自定义快捷操作键的实现 - 开源研究系列文章
这次想到应用程序的快捷方式使用的问题。 Windows已经提供了API函数能够对窗体的热键进行注册,然后就能够在窗体中使用这些注册的热键进行操作了。于是笔者就对这个操作进行了整理,将注册热键操作写成了帮助类,并且用此博文来记录这个使用DEMO,便于其他读者进行复用代码。 1、 项目目录; 2、 源码
C#自定义快捷操作键的实现 - 开源研究系列文章 C#自定义快捷操作键的实现 - 开源研究系列文章 C#自定义快捷操作键的实现 - 开源研究系列文章
如何对MIL-STD-1553B进行选型
MIL-STD-1553B产品选型是一个复杂而细致的过程,‌需要综合考虑多个因素以确保所选产品能够满足特定应用场景的需求。 一、‌引言 MIL-STD-1553B作为一种广泛应用于航空航天领域的数据总线标准,‌其产品的选型对于确保系统的高效、‌可靠运行至关重要。‌选型过程中,‌需要充分理解MIL-S
stm32 F103C8T6 4x4矩阵键盘使用
首先感谢 江科大 的stm32入门课程 受益匪浅。推荐有兴趣的朋友去看看。 先看看我用的矩阵键盘是啥样的(很常见的一种) 接线如图(其他型号根据自己需求接上GPIO口) 代码基于stm大善人的代码修改而来,讲的很详细,非常感谢。 直接上代码: 头文件Key4x4.h #ifndef __KEY4x4
stm32 F103C8T6 4x4矩阵键盘使用 stm32 F103C8T6 4x4矩阵键盘使用 stm32 F103C8T6 4x4矩阵键盘使用
解锁GraphRag.Net的无限可能:手把手教你集成国产模型和本地模型
在上次的文章中,我们已经详细介绍了GraphRag的基本功能和使用方式。如果你还不熟悉,建议先阅读前面的文章 通过前两篇文章,相信你已经了解到GraphRag.Net目前只支持OpenAI规范的接口,但许多小伙伴在社区中提议,希望能增加对本地模型(例如:ollama等)的支持。所以这次,我们将探讨如