美文网首页Kotlin开发经验Kotlin编程Kotlin
Kotlin 基本类型 的简单了解

Kotlin 基本类型 的简单了解

作者: 正义吖 | 来源:发表于2017-06-01 11:33 被阅读27次

    运算

    shl(bits) – 有符号左移 (Java 的 <<)
    shr(bits) – 有符号右移 (Java 的 >>)
    ushr(bits) – 无符号右移 (Java 的 >>>)
    and(bits) – 位与
    or(bits) – 位或
    xor(bits) – 位异或
    inv() – 位非

    字符

    字符字面值用单引号括起来: '1'。 特殊字符可以用反斜杠转义。 支持这几个转义序列:\t、 \b、\n、\r、'、"、\ 和 $。 编码其他字符要用 Unicode 转义序列语法:'\uFF00'。
    我们可以显式把字符转换为 Int 数字:

    fun decimalDigitValue(c: Char): Int {
        if (c !in '0'..'9')
            throw IllegalArgumentException("Out of range")
        return c.toInt() - '0'.toInt() // 显式转换为数字
    }
    

    布尔

    布尔用 Boolean 类型表示,它有两个值:true 和 false。

    若需要可空引用布尔会被装箱。

    内置的布尔运算有:

    || – 短路逻辑或
    && – 短路逻辑与
    ! - 逻辑非

    数组

    数组在 Kotlin 中使用 Array 类来表示,它定义了 get 和 set 函数(按照运算符重载约定这会转变为 [])和 size 属性,以及一些其他有用的成员函数:

    class Array<T> private constructor() {
        val size: Int
        operator fun get(index: Int): T
        operator fun set(index: Int, value: T): Unit
    
        operator fun iterator(): Iterator<T>
        // ……
    }
    

    可以使用库函数 arrayOf() 来创建一个数组并传递元素值给它,这样 arrayOf(1, 2, 3) 创建了 array [1, 2, 3]。 或者,库函数 arrayOfNulls() 可以用于创建一个指定大小、元素都为空的数组。

    另一个选项是用接受数组大小和一个函数参数的工厂函数,用作参数的函数能够返回 给定索引的每个元素初始值:

    // 创建一个 Array<String> 初始化为 ["0", "1", "4", "9", "16"]
    val asc = Array(5, { i -> (i * i).toString() })
    

    如上所述,[] 运算符代表调用成员函数 get() 和 set()。

    注意: 与 Java 不同的是,Kotlin 中数组是不型变的(invariant)。这意味着 Kotlin 不让我们把 Array<String>
    赋值给 Array<Any>
    ,以防止可能的运行时失败(但是你可以使用 Array<out Any>
    , 参见类型投影)。
    Kotlin 也有无装箱开销的专门的类来表示原生类型数组: ByteArray
    、 ShortArray
    、IntArray
    等等。这些类和 Array
    并没有继承关系,但是 它们有同样的方法属性集。它们也都有相应的工厂方法:

    val x: IntArray = intArrayOf(1, 2, 3)
    x[0] = x[1] + x[2]
    

    相关文章

      网友评论

        本文标题: Kotlin 基本类型 的简单了解

        本文链接:https://www.haomeiwen.com/subject/rxnsfxtx.html