double 的默认写法
var a = 123.5
var b = 123.5e10
var oneMillion = 1_000_000
var cardNumber = 123_5678_9012_3456L
var hexBytes = 0xFF_EC_ED_SE
var bytes = ob1101010010_01101001_10010100_10010010
两个数字的比较:
1)“====”,需要值、对象地址都相等才可以返回true;
2)“==”,只需要值相等便可以返回true
/**比较两个数字*/
fun main(args: Array<String>) {
var a: Int = 10000
println(a === a)//true, 值相等,对象地址相等
var boxedA: Int ? = a
var anotherBoxedA: Int ? = a
println(boxedA === anotherBoxedA) //false,值相等, 对象地址不一样
print(boxedA == anotherBoxedA) //true,值相等
}
类型的转换
var b: Byte = 1 //ok,字面值是静态检测的
var i: Int = b //错误,不可以直接如此强转
var l: Int = b.toInt() //ok
/**类型转换*/
fun typeTransfer() {
var b : Byte = 1 // ok, 字面值是静态检测的
// var i : Int = b //错误
var i: Int = b.toInt() //ok
//此外,还有 toByte(), toShort(),toLong(),toFloat(), toDouble(), toChar()
var l = 1L + 1 // Long + Int => Long
}
位操作符
在Kotlin中,Char不能直接和字符操作,Char必须是单引号包含起来的,比如’a’, ‘0’。这点和Java很不同
如:var c: Char = ‘a’
if (c == 1) //错误,类型不兼容