美文网首页
Kotlin基础-基本类型

Kotlin基础-基本类型

作者: MengkZhang | 来源:发表于2019-08-08 09:54 被阅读0次

    基本类型&

    在 Kotlin 中,所有东西都是对象,在这个意义上讲我们可以在任何变量上调用成员函数与属性。 一些类型可以有特殊的内部表示——例如,数字、字符以及布尔值可以在运行时表示为原生类型值,但是对于用户来说,它们看起来就像普通的类。 在本节中,我们会描述 Kotlin 中使用的基本类型:数字、字符、布尔值、数组与字符串。

    数字

    Kotlin 处理数字在某种程度上接近 Java,但是并不完全相同。例如,对于数字没有隐式拓宽转换(如 Java 中 int 可以隐式转换为long——译者注),另外有些情况的字面值略有不同。

    Kotlin 提供了如下的内置类型来表示数字(与 Java 很相近):

    Type Bit width
    Double 64
    Float 32
    Long 64
    Int 64
    Short 64
    Byte 8

    注意在 Kotlin 中字符不是数字

    字面常量

    数值常量字面值有以下几种:

    十进制: 123
    Long 类型用大写 L 标记: 123L
    十六进制: 0x0F
    二进制: 0b00001011
    注意: 不支持八进制

    Kotlin 同样支持浮点数的常规表示方法:

    默认 double:123.5123.5e10
    Float 用 f 或者 F 标记: 123.5f

    数字字面值中的下划线(自 1.1 起)

    你可以使用下划线使数字常量更易读:

    val oneMillion = 1_000_000
    val creditCardNumber = 1234_5678_9012_3456L
    val socialSecurityNumber = 999_99_9999L
    val hexBytes = 0xFF_EC_DE_5E
    val bytes = 0b11010010_01101001_10010100_10010010
    
    表示方式

    在 Java 平台数字是物理存储为 JVM 的原生类型,除非我们需要一个可空的引用(如 Int?)或泛型。 后者情况下会把数字装箱。

    注意数字装箱不一定保留同一性:

    val a: Int = 10000
    println(a === a) // 输出“true”
    val boxedA: Int? = a
    val anotherBoxedA: Int? = a
    println(boxedA === anotherBoxedA) // !!!输出“false”!!!
    

    另一方面,它保留了相等性:

    val a: Int = 10000
    println(a == a) // 输出“true”
    val boxedA: Int? = a
    val anotherBoxedA: Int? = a
    println(boxedA == anotherBoxedA) // 输出“true”
    

    相关文章

      网友评论

          本文标题:Kotlin基础-基本类型

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