Kotlin 变量与常量
与 Java 相比,Kotlin 在变量声明方面更加简洁灵活,引入了 val、var 关键字以及可空性等特性,旨在提高代码的安全性和可读性。
var 和 val :声明变量与常量
在 Kotlin 中,我们使用 var 关键字声明变量,使用 val 关键字声明常量。
- var (variable): 用于声明可变变量,其值在程序运行过程中可以被修改。
- val (value): 用于声明不可变常量,其值在初始化后就不能再被修改,类似于 Java 中的 final 关键字。
语法:
var <变量名>:<数据类型> = <初始值> // 声明变量
val <常量名>:<数据类型> = <初始值> // 声明常量
示例:
var age: Int = 18 // 声明一个 Int 类型的变量 age,初始值为 18
age = 20 // 修改变量 age 的值
val pi: Double = 3.1415926 // 声明一个 Double 类型的常量 pi
// pi = 3.14 // 错误:无法对 val 变量赋值
可空性:增强代码安全性
在 Java 中,空指针异常是一个非常常见的错误。Kotlin 引入了可空性的概念来解决这个问题。在声明变量或常量时,我们可以指定其是否可以为空。
- 非空类型: 默认情况下,Kotlin 的变量或常量都是非空的,不能被赋值为 null。如果尝试将 null 赋值给非空类型,编译器会报错。
- 可空类型: 如果需要允许变量或常量为空,需要在类型后面加上 ? 符号,表示这是一个可空类型。
语法:
var <变量名>:<数据类型>? = null // 声明可空变量
val <常量名>:<数据类型>? = null // 声明可空常量
示例:
var nickname: String? = null // 声明一个可空的 String 类型变量
val address: String = "Unknown" // 声明一个非空的 String 类型常量
// nickname = null // 可以赋值为 null
// address = null // 错误:无法对非空类型赋值为 null