- Kotlin 教程
- Kotlin - 首页
- Kotlin - 概述
- Kotlin - 环境设置
- Kotlin - 架构
- Kotlin - 基本语法
- Kotlin - 注释
- Kotlin - 关键字
- Kotlin - 变量
- Kotlin - 数据类型
- Kotlin - 运算符
- Kotlin - 布尔值
- Kotlin - 字符串
- Kotlin - 数组
- Kotlin - 范围
- Kotlin - 函数
- Kotlin 控制流
- Kotlin - 控制流
- Kotlin - if...Else 表达式
- Kotlin - When 表达式
- Kotlin - For 循环
- Kotlin - While 循环
- Kotlin - Break 和 Continue
- Kotlin 集合
- Kotlin - 集合
- Kotlin - 列表
- Kotlin - 集合
- Kotlin - 映射
- Kotlin 对象和类
- Kotlin - 类和对象
- Kotlin - 构造函数
- Kotlin - 继承
- Kotlin - 抽象类
- Kotlin - 接口
- Kotlin - 可见性控制
- Kotlin - 扩展
- Kotlin - 数据类
- Kotlin - 密封类
- Kotlin - 泛型
- Kotlin - 委托
- Kotlin - 解构声明
- Kotlin - 异常处理
- Kotlin 有用资源
- Kotlin - 快速指南
- Kotlin - 有用资源
- Kotlin - 讨论
Kotlin - 布尔值
很多时候,我们会遇到需要做出是或否决策的情况,或者我们可以说真或假。为了处理这种情况,Kotlin 有一个布尔数据类型,它可以取值 **true** 或 **false**。
Kotlin 还有一个 **可空** 的对应类型 **Boolean?**,它可以具有 **null** 值。
创建布尔变量
可以使用 **Boolean** 关键字创建布尔变量,并且此变量只能取值 **true** 或 **false**。
示例
fun main(args: Array<String>) { val isSummer: Boolean = true val isCold: Boolean = false println(isSummer) println(isCold) }
运行上述 Kotlin 程序时,它将生成以下输出
true false
事实上,我们可以不使用 **Boolean** 关键字创建 Kotlin 布尔变量,Kotlin 将根据分配的值(**true** 或 **false**)理解变量类型。
Kotlin 布尔运算符
Kotlin 为布尔变量提供了以下 **内置** 运算符。这些运算符也称为逻辑运算符。
运算符 | 名称 | 描述 | 示例 |
---|---|---|---|
&& | 逻辑与 | 如果两个操作数都为真,则返回真 | x && y |
|| | 逻辑或 | 如果任一操作数为真,则返回真 | x || y |
! | 逻辑非 | 反转结果,如果操作数为真,则返回假 | !x |
示例
以下示例演示了使用 Kotlin 逻辑运算符进行的不同计算。
fun main(args: Array<String>) { var x: Boolean = true var y:Boolean = false println("x && y = " + (x && y)) println("x || y = " + (x || y)) println("!y = " + (!y)) }
运行上述 Kotlin 程序时,它将生成以下输出
x && y = false x || y = true !y = true
Kotlin 布尔表达式
布尔表达式返回 **true** 或 **false** 值,主要用于使用 **if...else** 表达式检查条件。布尔表达式使用关系运算符,例如 **>, <, >=** 等。
fun main(args: Array<String>) { val x: Int = 40 val y: Int = 20 println("x > y = " + (x > y)) println("x < y = " + (x < y)) println("x >= y = " + (x >= y)) println("x <= y = " + (x <= y)) println("x == y = " + (x == y)) println("x != y = " + (x != y)) }
运行上述 Kotlin 程序时,它将生成以下输出
x > y = true x < y = false x >= y = true x <= y = false x == y = false x != y = true
Kotlin and() 和 or() 函数
Kotlin 提供了 **and()** 和 **or()** 函数来在两个布尔操作数之间执行逻辑 **AND** 和逻辑 **OR** 运算。
这些函数与 **&&** 和 **||** 运算符不同,因为这些函数不执行短路求值,而是始终求值两个操作数。
fun main(args: Array<String>) { val x: Boolean = true val y: Boolean = false val z: Boolean = true println("x.and(y) = " + x.and(y)) println("x.or(y) = " + x.or(y)) println("x.and(z) = " + x.and(z)) }
运行上述 Kotlin 程序时,它将生成以下输出
x.and(y) = false x.or(y) = true x.and(z) = true
Kotlin 还提供了 **not()** 和 **xor()** 函数,分别用于执行逻辑 **NOT** 和 **XOR** 运算。
布尔值转换为字符串
您可以使用 **toString()** 函数将布尔对象转换为其等效的字符串表示形式。
当在 String 变量中赋值 **true** 或 **false** 值时,您将需要此转换。
fun main(args: Array<String>) { val x: Boolean = true var z: String z = x.toString() println("x.toString() = " + x.toString()) println("z = " + z) }
运行上述 Kotlin 程序时,它将生成以下输出
x.toString() = true z = true
测验时间 (面试 & 考试准备)
Q 1 - 关于 Kotlin 布尔数据类型的以下哪一项是正确的?
答案:A
解释
Kotlin 布尔变量只能有两个值,即 true 或 false。
Q 2 - 以下程序的输出是什么?
fun main(args: Array<String>) { val x: Boolean = true var y: String y = x }
答案:C
解释
编译将因类型不匹配错误而停止,因为我们试图将布尔值存储到 String 变量中。在将其分配给字符串变量之前,我们应该使用 toString() 将布尔值转换为字符串值。