Kotlin教學 | 從零開始學Kotlin | Kotlin入門 | CH02: 變量(Variables)

變量

在 Kotlin 中,變量分為可變變量var)和不可變變量val)。


1. 可變變量(var

定義var 用於聲明可以更改其值的變量。

語法

var 變量名稱: 資料型別 = 初始值

示例

var age: Int = 25
println(age) // 輸出 25

age = 30 // 更改值
println(age) // 輸出 30

2. 不可變變量(val

定義val 用於聲明只讀變量(類似於 Java 中的 final 變量)。變量的值在初始化後無法更改。

語法

val 變量名稱: 資料型別 = 初始值

示例

val name: String = "Alice"
println(name) // 輸出 Alice

// name = "Bob" // 編譯錯誤,因為 `val` 不能重新賦值

3. 資料型別

Kotlin 支援多種資料型別,例如:

  • 整數型別:Int, Long, Short, Byte
  • 浮點型別:Float, Double
  • 字元:Char
  • 字串:String
  • 布林值:Boolean

你可以指定資料型別,也可以省略型別,讓 Kotlin 自動推斷:

val number = 42 // Kotlin 自動推斷為 Int
var isKotlinFun = true // 推斷為 Boolean

4. 延遲初始化變量(lateinit var

用於:只能搭配 var 使用,且通常用於類別的屬性。

特點:允許稍後初始化,但只能用於非空型別(如 String, Int 等)。

示例

lateinit var username: String

fun initialize() {
    username = "Alice"
    println(username) // 輸出 Alice
}

5. 惰性初始化(lazy

用於:聲明不可變變量時,僅在第一次使用時才初始化。

語法

val 變量名稱: 資料型別 by lazy { 初始化邏輯 }

示例

val message: String by lazy {
    println("初始化中...")
    "Hello, Kotlin!"
}

println(message) // 輸出 "初始化中..." 然後輸出 "Hello, Kotlin!"
println(message) // 只輸出 "Hello, Kotlin!"

6. 空安全與可空變量(nullable

Kotlin 對可空型別有專門的處理:

語法:用 ? 表示可空型別。

示例

var nullableName: String? = null
println(nullableName) // 輸出 null

nullableName = "Kotlin"
println(nullableName?.length) // 安全調用,輸出 6

Reference

https://kotlinlang.org/docs/numbers.html

https://kotlinlang.org/docs/booleans.html

https://kotlinlang.org/docs/characters.html

https://kotlinlang.org/docs/strings.html

https://kotlinlang.org/docs/basic-syntax.html#variables

https://kotlinlang.org/docs/kotlin-tour-basic-types.html

發佈留言