4-Kotlin数据类型与变量
一. 变量概念
在Kotlin中变量其实对应着内存中特定区域,变量就像是一个装“数据”的容器
- 1 val num1:Int = 100
- 2 var num2:Int = 99
关键字 val 表示变量为只读变量,只读变量只能初始化一次,一旦初始化之后不能更改
关键字 var 表示变量是可读可写变量,可以随意更改值
Kotlin编译器提供的“类型推导”功能
在定义变量时,如果需要同时给它一个初始值,则可以省略变量的类型,因为kotlin编译器会根据初始值定义变量类型,否则必须在变量后跟上一个“ : ”号和变量类型
Kotlin的变量定义要求小写字母开头,遵从驼峰命名法
- 1 val myVal = 100 //等价于下一行
- 2 val myVal:Int = 100
Kotlin要求数据的类型转换进行显式转换
- 1 val x:Int = 5
- 2 val y:Long = x.toLong() //Int类型必须手动类型转换才能赋值给Long类型变量
Kotlin对于变量的“判等”有俩种, str1 == str2 , str1 === str2
使用“==”比较俩个字符串变量所引用的字符串内容是否一样
使用“===”比较俩个字符串变量是否应用同一个字符串对象
Kotlin中的常量有俩种
运行时常量: val counter = 100 ,代码在运行存在,数值保持不变
编译时常量: const val MAX_VALUE = 255 ,该变量在编译时全部替换成对应数值,建议全大写加下划线
二.Kotlin的数值类型
不同的数值类型可以存储的数字类型是是不一样的
在Kotlin中的数字类型对应着Java里的俩个类型,原始类型和包装类型,这样开发者可以简化编程难度
Kotlin中的整数类型
- 1 Byte:[-128,127] //1字节(8)
- 2 Short:[-32768,32767] //2字节(16)
- 3 Int:[-2147483648,2147483647] //4字节(32)
- 4 Long:[-9223372036854775808,9223372036854775807] //8字节(64)
Kotlin中的浮点数类型有 Double 双精度浮点数和 Float 单精度浮点数
在Kotlin中默认浮点数是双精度,在数值后加一个 “f” 或“F”可以指定为单精度,另外可以用“L”来指定长整型,使用前缀“0x”表示十六进制值,“0b”表示二进制值
Kotlin中给变量赋值要满足类型兼容,并且值在变量的范围内,这样才不会编译错误
注意点
1)变量类型转换时,Long类型到Int类型,Double类型到Float类型都可能造成数据截断,导致异常
2)浮点数比较,两个浮点数不能直接比较,需要俩个浮点数之差小于误差范围就可以认为相等
Kotlin的另一个功能:数对,可以通过Pair类把俩个数或三个数看成一个整体
- 1 val xAndY = Pair<Int, Int ,Int>(10, 20, 30) //以下俩种方法等价
- 2 val xAndYWithTo:Pair<Int, Int> = 10 to 20
- 3 println(xAndY) //输出:(10, 20, 30)
- 4 println(xAndYWithTo.frist) //也可以通过first和second属性访问数对中的数
- 5 //数对支持解构式赋值方式
- 6 val (x, y) = xAndYWithTo //x=10,y=20
7 val (x1, _, z2) = xAndY //使用“_”表示不关心这个数,忽略掉它