1、在java中声明变量是以类型开始,在kotlin中是以关键字开始,然后是变量名称,最后可以加上类型(不加也可以),因为许多变量声明的类型都可以省略,如:
val str:String = "hello"
因为编译器会根据初始化器表达式的值,并把它的类型作为变量的类型,可以简化为:
val str = "hello"
备注:如果变量没有初始化器,需要显式地指定它的类型,因为编译器无法推导出它的类型
2、可变变量和不可变变量
声明变量的关键字有两个:
val-----不可变引用(指向的对象是可变的)。使用val声明的变量不能在初始化之后再次赋值。它对应的是java的final变量
var-----可变引用。这种变量的值可以被改变。这种声明对应的是普通非final的java变量
默认情况下,应该尽可能使用val关键字来声明所有的kotlin变量,仅在必要的时候换成var,因为这样更借口函数式编程风格。