kotlin 中的布尔

1、kotlin中内置的Boolean类型,可以有true与false两个值的布尔对象。

布尔值的内置运算有(跟很多语言如java、js一摸一样):

  • ||——逻辑
  • &&——逻辑
  • !——逻辑
fun main() {
    val a: Boolean = true
    val b: Boolean = false
    val c: Boolean? = null

    println(a || b) // true (只要一个为真则为真,所以输出true)
    println(a && b) // false (只要一个为假则为假,所以输出false)
    println(c) // 也可以为null
}

2、Boolean类型与数字类型一样也可空

fun main() {
    val a: Boolean? = true
    val b: Boolean? = true

    println(a === b) // true 
}

上边代码为什么返回true?不是有装箱?

解释:

在 Kotlin 中,=== 操作符用于比较两个对象的引用是否相同,即它们是否指向内存中的同一个对象。而对于基本数据类型(如 BooleanIntDouble 等)及其对应的非空类型,情况稍微特殊一些。

上边代码,ab 都是 Boolean? 类型,即它们可以是 Boolean 的值或者 null。当你直接赋值为 truefalse 时,Kotlin 会对这些字面值进行优化,不会进行装箱操作。这意味着,对于 truefalse,Kotlin 会复用已经存在的单例对象,而不是为每次赋值都创建一个新的对象。

因此,当你使用 === 比较 ab 时,结果为 true,这是因为它们都指向了代表 true 的同一个 Boolean 对象。

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Kotlin,可以使用逻辑运算符进行布尔运算。常见的逻辑运算符有以下几种: 1. NOT运算符(!):用于取反,将布尔从true变为false,或从false变为true。例如,!true返回false,!false返回true。 2. AND运算符(&&):用于逻辑与操作,只有在两个操作数都为true时,结果才为true。例如,true && true返回true,true && false返回false。 3. OR运算符(||):用于逻辑或操作,只要有一个操作数为true,结果就为true。例如,true || false返回true,false || false返回false。 4. 异或运算符(xor):用于逻辑异或操作,当两个操作数相同时,结果为false,当两个操作数不同时,结果为true。例如,true xor false返回true,true xor true返回false。 在Kotlin,您可以使用readln().toBoolean()或readLine().toBoolean()来读取布尔。readln()和readLine()函数可以从标准输入读取一行字符串,然后使用toBoolean()函数将该字符串转换为布尔。在Kotlin 1.6及更高版本,推荐使用readln().toBoolean()来读取布尔。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [【2023最新】Kotlin基础教程 Kotlin Basics 2 第... 2.10 【布尔和逻辑运算】Boolean and logical operations](https://blog.csdn.net/weixin_44226181/article/details/129680414)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值