数据类型

类型 -> 位宽度
Double -> 64
Float -> 32
Long -> 64
Int -> 32
Short -> 16
Byte -> 8

kotlin不支持8进制

有10进制:
2进制:0b开头
16进制:0x开头
且他的数据类型不会自动由精度低的向高精度的自动转型。必须严格限制类型。

位操作符

对于Int和Long类型,还有一系列的位操作符可以使用,分别是:

1
2
3
4
5
6
7
shl(bits) – 左移位 (Java’s <<)
shr(bits) – 右移位 (Java’s >>)
ushr(bits) – 无符号右移位 (Java’s >>>)
and(bits) – 与
or(bits) – 或
xor(bits) – 异或
inv() – 反向

字符

kotlin中的字符不能直接和数字比较,也就是不能直接转化为ASCII码。除非显式转化为Int类型

1
2
'c'.toInt()//已废除
'c'.code//表示'c'的ASCII码

数组

数组用类 Array 实现,并且还有一个 size 属性及 get 和 set 方法,由于使用 [] 重载了 get 和 set 方法,所以我们可以通过下标很方便的获取或者设置数组对应位置的值。

数组的创建两种方式:一种是使用函数arrayOf();另外一种是使用工厂函数。如下所示,我们分别是两种方式创建了两个数组:

1
2
3
4
5
6
7
8
9
10
fun main(args: Array<String>) {
//[1,2,3]
val a = arrayOf(1, 2, 3)
//[0,2,4]
val b = Array(3, { i -> (i * 2) })

//读取数组内容
println(a[0]) // 输出结果:1
println(b[1]) // 输出结果:2
}

若要读取一整个数组需要使用数组的一个方法.contentToString()才可以让数组不显示hash值。正确显示。

字符串

一个去除前置空格的方法trimMargin()字符串可以调用该方法去除掉前置空格。