
上QQ阅读APP看书,第一时间看更新
2.1 变量和标识符
变量(数据名称)标识一个对象的地址,我们称之为标识符。而具体存放的数据占用内存的大小和存放的形式则由其类型来决定。
在Kotlin中,所有的变量类型都是引用类型。Kotlin的变量分为val(不可变的)和var(可变的)。可以简单理解为:
val是只读的,仅能一次赋值,后面就不能被重新赋值;
var是可写的,在它生命周期中可以被多次赋值。
例如,使用关键字val声明不可变变量,代码如下:

另外,还可以省略后面的类型Int,直接声明如下:

用val声明的变量不能重新赋值,代码如下:

使用var声明可变变量,代码如下:

只要可以,应尽量在Kotlin中首选使用val不变值。因为在程序中大部分地方只需要使用不可变的变量,而使用val变量可以带来可预测的行为和线程安全等优点。
变量名就是标识符。标识符是由字母、数字、下画线组成的字符序列,不能以数字开头。下面是合法的变量名。

跟Java一样,Kotlin的变量名区分大小写,命名遵循驼峰式命名法。