对于Kotlin来说,所有的数据变量都是对象,可以调用类型的方法和值;和Java一样,存在4种整数型,2种浮点型,1种布尔型,1种字符型。
对于JVM来说,变量一旦声明类型后,只能赋值相同类型或相同类型的值。
数据类型的转换:范围大的数据类型不能转化为范围小的数据类型,范围小的数据类型转化范围大的数据类型必须调用toXXX()转化对应数据类型。 (补充:字符不能赋值数字,但可以转化为Int数字,这是因为char是Unicode)
对于Kotlin的变量声明中,分val和var两种类型:
val:代表声明的变量的值不可改变(类似于Java中的 final)。
var:代表声明的变量的值可改变。
当一个变量被赋值时候会比JVM确定类型,一旦类型确定后就不可以赋值不同类型的数据。
例如:var name = “name”; name = 1;//Exception
同时,对与变量的声明类型格式为:val/var valueName: type = value;其中编译器会根据我们赋值对变量进行自动识别,同时,如果一个变量没有赋值,则必须声明变量的类型。
(补充:val一般情况下使用在局部方法中。顶层变量就和Java中成员变量类似,可以给该类的任何方法进行访问。)
var a1 : Int; var a2 = 1; //赋值不可改变 val a3 = 2;