
- 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 擁有豐富的內建運算子,並提供以下型別的運算子:
算術運算子
關係運算符
賦值運算子
一元運算子
邏輯運算子
位運算
現在讓我們逐一瞭解這些 Kotlin 運算子。
(a) Kotlin 算術運算子
Kotlin 算術運算子用於執行基本的數學運算,例如加法、減法、乘法和除法等。
運算子 | 名稱 | 描述 | 示例 |
---|---|---|---|
+ | 加法 | 將兩個值相加 | x + y |
- | 減法 | 從一個值中減去另一個值 | x - y |
* | 乘法 | 將兩個值相乘 | x * y |
/ | 除法 | 將一個值除以另一個值 | x / y |
% | 取模 | 返回除法的餘數 | x % y |
示例
以下示例演示了使用 Kotlin 算術運算子進行的不同計算
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)) }
執行上述 Kotlin 程式時,將生成以下輸出
x + y = 60 x - y = 20 x / y = 2 x * y = 800 x % y = 0
(b) Kotlin 關係運算符
Kotlin 關係(比較)運算子用於比較兩個值,並返回一個 **布林** 值:**true** 或 **false**。
運算子 | 名稱 | 示例 |
---|---|---|
> | 大於 | x > y |
< | 小於 | x < y |
>= | 大於或等於 | x >= y |
<= | 小於或等於 | x <= y |
== | 等於 | x == y |
!= | 不等於 | x != y |
示例
以下示例演示了使用 Kotlin 關係運算符進行的不同計算
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
(c) Kotlin 賦值運算子
Kotlin 賦值運算子用於為變數賦值。
以下是一個示例,其中我們使用賦值運算子 **=** 將值賦給兩個變數
fun main(args: Array<String>) { val x: Int = 40 val y: Int = 20 println("x = " + x) println("y = " + y) }
執行上述 Kotlin 程式時,將生成以下輸出
x = 40 y = 20
以下是一個更復雜的例子,我們使用賦值運算子 **+=** 將自身變數的值相加,然後將其重新賦值給同一個變數
fun main(args: Array<String>) { var x: Int = 40 x += 10 println("x = " + x) }
執行上述 Kotlin 程式時,將生成以下輸出
x = 50
以下是所有賦值運算子的列表
運算子 | 示例 | 展開形式 |
---|---|---|
= | x = 10 | x = 10 |
+= | x += 10 | x = x - 10 |
-= | x -= 10 | x = x - 10 |
*= | x *= 10 | x = x * 10 |
/= | x /= 10 | x = x / 10 |
%= | x %= 10 | x = x % 10 |
示例
以下示例演示了使用 Kotlin 賦值運算子進行的不同計算
fun main(args: Array<String>) { var x: Int = 40 x += 5 println("x += 5 = " + x ) x = 40; x -= 5 println("x -= 5 = " + x) x = 40 x *= 5 println("x *= 5 = " + x) x = 40 x /= 5 println("x /= 5 = " + x) x = 43 x %= 5 println("x %= 5 = " + x) }
執行上述 Kotlin 程式時,將生成以下輸出
x += 5 = 45 x -= 5 = 35 x *= 5 = 200 x /= 5 = 8 x %= 5 = 3
(d) Kotlin 一元運算子
一元運算子只需要一個運算元;它們執行各種操作,例如將值加 1/減 1、否定表示式或反轉布林值。
以下是 Kotlin 一元運算子的列表
運算子 | 名稱 | 示例 |
---|---|---|
+ | 一元加 | +x |
- | 一元減 | -x |
++ | 加 1 | ++x |
-- | 減 1 | --x |
! | 反轉布林值 | !x |
示例
以下示例演示了使用 Kotlin 一元運算子進行的不同計算
fun main(args: Array<String>) { var x: Int = 40 var b:Boolean = true println("+x = " + (+x)) println("-x = " + (-x)) println("++x = " + (++x)) println("--x = " + (--x)) println("!b = " + (!b)) }
執行上述 Kotlin 程式時,將生成以下輸出
+x = 40 -x = -40 ++x = 41 --x = 40 !b = false
這裡,增量 (++) 和減量 (--) 運算子可以用作字首,如 ++x 或 --x,也可以用作字尾,如 x++ 或 x--。這兩種形式的唯一區別在於,如果我們將其用作字首,則運算子將在表示式執行之前應用,但如果將其用作字尾,則運算子將在表示式執行之後應用。
(e) Kotlin 邏輯運算子
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
(e) Kotlin 位運算
Kotlin 沒有位運算子,但 Kotlin 提供了一系列輔助函式來執行位運算。
以下是 Kotlin 位運算函式的列表
函式 | 描述 | 示例 |
---|---|---|
shl (bits) | 有符號左移 | x.shl(y) |
shr (bits) | 有符號右移 | x.shr(y) |
ushr (bits) | 無符號右移 | x.ushr(y) |
and (bits) | 按位與 | x.and(y) |
or (bits) | 按位或 | x.or(y) |
xor (bits) | 按位異或 | x.xor(y) |
inv() | 按位非 | x.inv() |
示例
以下示例演示了使用 Kotlin 位運算函式進行的不同計算
fun main(args: Array<String>) { var x:Int = 60 // 60 = 0011 1100 var y:Int = 13 // 13 = 0000 1101 var z:Int z = x.shl(2) // 240 = 1111 0000 println("x.shl(2) = " + z) z = x.shr(2) // 15 = 0000 1111 println("x.shr(2) = " + z) z = x.and(y) // 12 = 0000 1100 println("x.and(y) = " + z) z = x.or(y) // 61 = 0011 1101 println("x.or(y) = " + z) z = x.xor(y) // 49 = 0011 0001 println("x.xor(y) = " + z) z = x.inv() // -61 = 1100 0011 println("x.inv() = " + z) }
執行上述 Kotlin 程式時,將生成以下輸出
x.shl(2) = 240 x.shr(2) = 15 x.and(y) = 12 x.or(y) = 61 x.xor(y) = 49 x.inv() = -61
測驗時間 (面試與考試準備)
題 1 - Kotlin 運算子 % 有什麼作用?
答案:D
解釋
給定的運算子 % 稱為算術模運算子,返回一個數除以另一個數後的餘數。
答案:C
解釋
給定的運算子 ++ 在 Kotlin 中稱為一元增量運算子
答案:B
解釋
函式 x.shr(y) 用於將給定 x 運算元的位向右移動 y 次。
題 6 - 以下 Kotlin 程式碼的輸出是什麼?
fun main(args: Array<String>) { var x: Int = 40 x += 10 println(x) }
答案:C
解釋
這裡給定的運算子 **+=** 是加法賦值運算子,這意味著它等效於 x = x + 10,這將產生 50 的值。