Kotlin 基本資料型態

在 Kotlin 中,所有東西都是物件。 這意味著我們可以在任何變數上呼叫成員函式和屬性。 雖然在程式碼層面看起來都是物件,但在執行時期 ( Runtime),Kotlin 編譯器會自動優化,將 Int 等基本型別轉成 Java 的 Primitive Type (int) 以提升效能。

比較運算 (== vs ===)

這是在 Kotlin 中非常重要的觀念!

  • ==:比較 數值/內容 是否相等 (Structural Equality),等同於 Java 的 .equals()
  • ===:比較 記憶體位址 是否相等 (Referential Equality),等同於 Java 的 ==
val a = 100
val b = 100
println(a == b)  // true
println(a === b) // true (因為 Int 會被優化為 primitive int)

數字 (Numbers)

Kotlin 提供了以下幾種數字型別:

型別位元數範例
Double643.14
Float323.14F (結尾加 F)
Long64100L (結尾加 L)
Int32100
Short16-
Short16-
Byte8-

此外,Kotlin 也支援 Unsigned Types (無號整數):UByte, UShort, UInt, ULong。 例如:val u: UInt = 100u

注意:Kotlin 不會自動進行隱式轉型 (Implicit Conversion)。 你不能把 Int 直接塞給 Long,必須顯式轉型。

val a: Int = 100
// val b: Long = a  // 錯誤!
val b: Long = a.toLong() // 正確

布林值 (Booleans)

只有兩個值:truefalse。 支援邏輯運算子:&& (AND), || (OR), ! (NOT)。

val isAdmin = true
val isGuest = false

字元 (Characters)

用單引號 ' 包起來的單一文字。 注意:Char 不是數字 (在 C / Java 中 Char 其實是 ASCII 數字,但在 Kotlin 中不是)。

val letter: Char = 'A'
// val i: Int = letter // 錯誤!不能直接當數字用