變量
在 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