Kotlin Booleans怎么用?Boolean类型有哪些常见操作?

文章导读
Previous Quiz Next 很多时候我们会遇到需要做出是或否决定的情况,或者说true或false。为了处理这种情况,Kotlin 提供了 Boolean 数据类型,它的值只能是 true 或 false。
📋 目录
  1. 创建 Boolean 变量
  2. Kotlin Boolean 操作符
  3. Kotlin Boolean 表达式
  4. Kotlin and() 和 or() 函数
  5. Boolean 转 String
  6. 测验时间 (面试与考试准备)
A A

Kotlin - 布尔值



Previous
Quiz
Next

很多时候我们会遇到需要做出决定的情况,或者说truefalse。为了处理这种情况,Kotlin 提供了 Boolean 数据类型,它的值只能是 truefalse

Kotlin 还有一个 可空的对应类型 Boolean?,它可以持有 null 值。

创建 Boolean 变量

可以使用 Boolean 关键字创建 boolean 变量,该变量的值只能是 truefalse

示例

fun main(args: Array<String>) {
   val isSummer: Boolean = true
   val isCold: Boolean = false
  
   println(isSummer)
   println(isCold)
   
}

运行上述 Kotlin 程序,将生成以下输出:

true
false

实际上,我们可以不使用 Boolean 关键字创建 Kotlin boolean 变量,Kotlin 会根据赋值的 truefalse 来推断变量类型。

Kotlin Boolean 操作符

Kotlin 为 boolean 变量提供了以下 内置 操作符,这些操作符也称为逻辑操作符:

操作符 名称 描述 示例
&& 逻辑与 如果两个操作数均为 true,则返回 true x && y
|| 逻辑或 如果任一操作数为 true,则返回 true x || y
! 逻辑非 反转结果,如果操作数为 true 则返回 false !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 Boolean 表达式

Boolean 表达式返回 truefalse 值,主要用于与 if...else 表达式一起检查条件。Boolean 表达式使用关系操作符,例如 >, <, >= 等。

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() 函数,用于在两个 boolean 操作数之间执行逻辑 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() 函数,分别用于执行逻辑 NOTXOR 操作。

Boolean 转 String

可以使用 toString() 函数将 Boolean 对象转换为其等效的字符串表示。

当将 truefalse 值赋给 String 变量时,需要进行这种转换。

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 Boolean 数据类型的以下哪项描述是正确的?

A - Boolean 数据类型可以有 true 和 false 两个值

B - Boolean 数据类型可以有 0 和 1 两个值

C - 可以将 Boolean 值赋值给 integer 变量

D - 以上全部

答案:A

解释

Kotlin Boolean 变量只能有两个值:true 或 false

Q 2 - 以下程序的输出结果是什么:

fun main(args: Array<String>) {
   val x: Boolean = true
   var y: String
   
   y = x
}

A - 将成功编译,无错误和警告

B - 仅会产生警告

C - 编译将因错误而停止

D - 以上均非

答案:C

解释

编译将因类型不匹配错误而停止,因为我们试图将 Boolean 值存储到 String 变量中。在将 Boolean 值赋值给 String 变量之前,应该使用 toString() 将其转换为 string 值。