Kotlin入门系列教程—运算符 字符 数组

Kotlin 的运算符

Kotlin支持标准的运算符比如 + - * / % 和JAVA一致的,

至于位运算,Kotlin 并没有提供特殊的操作符,只是提供了一些方法,比如

val x = 1 shl 2//输出4 代表有符号左位移 (shift left 英文缩写)

shl(bits) – 有符号左位移 (Java's << )

shr(bits) – 有符号右位移 (Java's >> )

ushr(bits) – 无符号右位移 (Java's >>> )

and(bits) – 位与

or(bits) – 位或

xor(bits) – 位异或

inv() – 位反转

Kotlin的Character

Kotlin的character用类型 char 表示 不能直接当作number 对待 比如:

fun check(c: Char) {

if (c == 1) { // 编译器报错了

// ...

}

}

字符是由单引号包裹的 '1' 特殊字符可以用反斜线转义 比如

\t \n \r \\ 和JAVA没多大区别,

我们能够显式的把char 转换成int

fun decimalDigitValue(c: Char): Int { //假设输入参数'9' 输出为 9 数字

if (c !in '0'..'9')

throw IllegalArgumentException("Out of range")

return c.toInt() - '0'.toInt() //显示转换为数值类型 如果去掉 - '0'.toInt() 输出 57 是ascii码

}

和数值类型一样,需要一个可空引用时,字符会被装箱。特性不会被装箱保留。

Kotlin 的Bollean

布尔值只有 true 或者 false

如果需要一个可空引用,则可以将布尔值装箱

布尔值的操作包括

|| – 短路或

&& – 短路与

! - 取反

Kotlin的 Array数组

数组在Kotlin中用 Array class类来表示,拥有 get set size方法,以及其他一些有用的成员函数。

class Array private constructor() {

val size: Int

operator fun get(index: Int): T

operator fun set(index: Int, value: T): Unit

operator fun iterator(): Iterator

// ...

}

为了创建一个Array 我们可以用 arrayOf()库函数,比如 arrayOf(1,2,3) ,创建一个

[1,2,3]数组,我们也可以用 arrayOfNull()函数创建一个指定长度的被null元素填充的数组。

另一个选项是通过一个工厂函数,给出数组长度 返回的是每个index索引和对应的表达式运算结果 比如:

val asc = Array(5, {i -> (i * i).toString() }) //和python很像 这结果是生成 0 1 2 3 4 的平方数组

引用数据元素依旧是 asc[i] 和JAVA一样

注意:和 java 不一样,arrays 在 kotlin 中是不可变的。这意味这 kotlin 不允许我们把 Array 转为 Array ,这样就阻止了可能的运行时错误

Kotlin 有专门的类来表示原始类型从而避免过度装箱: ByteArray, ShortArray, IntArray 等等。这些类与 Array 没有继承关系,但它们有一样的方法与属性。每个都有对应的工厂函数:

val x: IntArray = intArrayOf(1, 2, 3)

x[0] = x[1] + x[2]

你可能感兴趣的:(Kotlin)