美文网首页
2019-08-12 kotlin 基础整理 数据类型

2019-08-12 kotlin 基础整理 数据类型

作者: 喜欢萌妹子的少年 | 来源:发表于2019-08-12 15:07 被阅读0次
    WechatIMG83.png
    Kotlin中的数字的内置类型(接近与Java),其关键字为:
    • Byte=> 字节 => 8位
    • Short => 短整型 => 16位
    • Int => 整型 => 32位
    • Long => 长整型 => 64位
    • Float => 浮点型 => 32位
    • Double => 双精度浮点型 => 64位
    进制数
    • 二进制数
    • 八进制数(Kotlin不支持)
    • 十进制数
    • 十六进制数
    装箱 拆箱
    • 在Kotlin中,存在数字的装箱,但是不存在拆箱。因为Kotlin是没有基本数据类型的,Kotlin是万般皆对象的原则。故不存在和Java中的类似int是数据类型,Integer是整型的引用类型
    转换
    • 显式转换 :较小的类型不会被隐式转换为更大的类型,故而系统提供了显式转换
      toByte() => 转换为字节型
      toShort() => 转换为短整型
      toInt() => 转换为整型
      toLong() => 转换为长整型
      toFloat() => 转换为浮点型
      toDouble() => 转换为双精度浮点型
      toChar() => 转换为字符型
      toString() => 转换为字符串型
    • 隐式转换 :类型是从上下文推断出来的,即算术运算则被重载为适当的转换
    位运算符
    • shl(bits) => 有符号向左移 (类似Java的<<)
    • shr(bits) => 有符号向右移 (类似Java的>>)
    • ushr(bits) => 无符号向右移 (类似Java的>>>)
    • and(bits) => 位运算符 and (同Java中的按位与)
    • or(bits) => 位运算符 or (同Java中的按位或)
    • xor(bits) => 位运算符 xor (同Java中的按位异或)
    • inv() => 位运算符 按位取反 (同Java中的按位取反)
    异或也叫半加运算,其运算法则相当于不带进位的二进制加法:二进制下用1表示真,0表示假,则异或的运算法则为:0⊕0=0,1⊕0=1,0⊕1=1,1⊕1=0(同为0,异为1),这些法则与加法是相同的,只是不带进位
    var operaNum: Int = 4
    运算:
    var shlOperaNum = operaNum shl(2)
    var shrOperaNum = operaNum shr(2)
    var ushrOperaNum = operaNum ushr(2)
    var andOperaNum = operaNum and(2)
    var orOperaNum = operaNum or(2)
    var xorOperaNum = operaNum xor(2)
    var invOperaNum = operaNum.inv()
    
    结果:
    shlOperaNum => 16 
    shrOperaNum => 1 
    ushrOperaNum => 1 
    andOperaNum => 0 
    orOperaNum => 6 
    xorOperaNum => 6 
    invOperaNum => -5
    

    相关文章

      网友评论

          本文标题:2019-08-12 kotlin 基础整理 数据类型

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