1.整数,未指定类型时,默认为Int类型,当初始赋值数值超过Int类型时,会推断为为Long类型,可添加L后缀指定为Long类型
var byteNumber:Byte=1 //8位大小
var shortNumber:Short=12 //16位大小
var intNumber:Int=123 //32位大小
var longNumebr:Long=123 //64位大小
2.浮点型,未指定类型时,默认为Double类型,Float类型需要添加F或f后缀
var floatNumber:Float=1.23456789F //32位大小,有效位数6-7位,多余位将舍去
var doubleNumber:Double=1.2345678912345678 //64位大小,有效位数15-16位,多余位将舍去
println("floatNumber:"+floatNumber)
println("doubleNumber:"+doubleNumber)
输出结果:
floatNumber:1.2345679
doubleNumber:1.234567891234568
3.其他进制数,Kotlin不支持八进制,支持二,十,十六进制数
var binaryNumber=0b10 //二进制,头部加0
var hexadecimalNumber=0x10 //十六进制,头部加0x
println("binaryNUmber:"+binaryNumber)
println("hexadecimalNumber:"+hexadecimalNumber)
输出结果:
binaryNUmber:2
hexadecimalNumber:16
4.为方便阅读,可添加下划线
var numberWithUnderline=1_234_456
println("numberWithUnderline:"+numberWithUnderline)
输出结果:
numberWithUnderline:1234456
5.自动装箱与拆箱,在类型后添加?表明可能需要一个可空引用
var intBox:Int?=1000;
println("$intBox ==1000:${intBox==1000}")
输出结果:
1000 ==1000:true
6.类型转换,较小的类型不能隐式转换为较大类型,需要显示转换
intNumber=byteNumber.toInt()
7.整数除法结果总是整数,小数部分将会被舍弃,要保留小数部分需要为其中一个参数添加显示转换为浮点型
var result1=5/2;
println(result1)
var result2=5/2.toDouble()
println(result2)
输出结果:
2
2.5