2. Kotlin基本数据类型

基本数值类型包括Byte/Short/Int/Long/Float/Double。值得注意的是,字符不属于数值类型,是一个独立的数值类型。
数据类型的宽度

数据类型 宽度
Byte 8
Short 16
Int 32
Long 64
Float 32
Double 64

字面常量

  • 十进制:123
  • 长整形: 123LL结尾
  • 16进制:0xF00x开头
  • 2进制:0b01010b开头
  • Double型:123.4/123e10
  • Float型:123.4ff/F结尾
  • 不支持8进制

可以使用_增强数字可读性:`0b0101_0000_1010_1111

比较两个数字

Kotlin中没有基础数值类型,所有的都是对象,定义的没一个变量都是封装的对象,因此在比较时就有数据大小还是对象是否相同的区别。

===比较的是对象地址,也就是对象是不是同一个,==比较的是两个变量值的大小

val a:Int = 222
println("(a === a) = " + (a === a))
println("(a == a) = " + (a == a))
val aBoxeda:Int = a
val anotherBoxeda:Int = a
println("(aBoxeda === anotherBoxeda) = " + (aBoxeda === anotherBoxeda))
println("(aBoxeda == anotherBoxeda) = " + (aBoxeda == anotherBoxeda))

输出

(a === a) = true
(a == a) = true
(aBoxeda === anotherBoxeda) = true
(aBoxeda == anotherBoxeda) = true

注意上面的声明,两个装箱的变量都是非可空的,如果定义为可空,那么输出的将会是flase

val aBoxeda:Int? = a
val anotherBoxeda:Int? = a
println("(aBoxeda === anotherBoxeda) = " + (aBoxeda === anotherBoxeda))
println("(aBoxeda == anotherBoxeda) = " + (aBoxeda == anotherBoxeda))

看,就像这样,更深层的东西以后再研究

(aBoxeda === anotherBoxeda) = false
(aBoxeda == anotherBoxeda) = true

你可能感兴趣的:(2. Kotlin基本数据类型)