
- 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() 將布林值轉換為字串值。