比较两个数字
在 Kotlin 中,三个等号 ===表示比较对象地址,两个 == 表示比较两个值大小。
fun main(args: Array<String>) {val a: Int = 10000println(a === a) // true,值相等,对象地址相等//经过了装箱,创建了两个不同的对象val boxedA: Int? = aval anotherBoxedA: Int? = a//虽然经过了装箱,但是值是相等的,都是10000println(boxedA === anotherBoxedA) // false,值相等,对象地址不一样println(boxedA == anotherBoxedA) // true,值相等}
这里的
Int?表示的是boxedA和anotherBoxedA这两个不可变量,可以为Int类型,也可以为空。如果不加上?说明这个不可变量不能为空。 详细的解释参见:
Kotlin中Int和 Int? 以及 IntArray 和 Array的问题_Dream It Possible-CSDN博客_kotlin的intarray
类型转换
转化方法如下:
toByte(): BytetoShort(): ShorttoInt(): InttoLong(): LongtoFloat(): FloattoDouble(): DoubletoChar(): Char
举个例子:
val b: Byte = 1 // OK, 字面值是静态检测的val i: Int = b.toInt() // OK
布尔类型
只有ture和false两个值。
|| – 短路逻辑或&& – 短路逻辑与! - 逻辑非
数组
数组的创建有两种方式
一种是使用arrayOf(),另一种是使用工厂函数。
这里只需要知道前面一个即可。
fun main(args: Array<String>) {//a数组为[1,2,3]val a = arrayOf(1, 2, 3)//b数组为[0,2,4]val b = Array(3, { i -> (i * 2) }) // 这里的i是从0开始//读取数组内容println(a[0]) // 输出结果:1println(b[1]) // 输出结果:2}
