• Kotlin基本数据类型


    1.Kotlin的基本数据类型

    Byte、Short、Int、Long、Float、Double\n\n不同于Java,字符不属于数值类型,是一个独立的数据类型。

    2.字面常量

    十进制:123
    长整型:123L
    16进制以0x开头:0x0F
    2进制以0b开头:
    注:不支持8进制
    Double写法:123.5,123.5e10
    Floats使用f或F后缀:123.5f

    3.比较两个数字大小

    Kotlin中没有基础数据类型,只有封装的数据类型,你每定义一个变量,其实Kotlin就帮你封装了一个对象。这样可以保证不会出现空指针。数字类型也一样,所以在比较两个数字的时候,就有比较数据大小和比较两个对象是否相同的区别。在Kotlin中,三个等号===表示比较对象地址,两个等号==表示比较两个值大小。
    val a:Int = 10000\nLog.i(“aaaaaa”,(a===a).toString())//true,值相等,对象地址相等//经过装箱,创建了两个不同的对象\nval boxedA:Int? = a\nval boxedB:Int? = a\nLog.i(“aaaaaa”,(boxedA===boxedB).toString())//false,值相等,但对象地址不同\nLog.i(“aaaaaa”,(boxedA==boxedB).toString())//true,值相等

    4.类型转换

    由于不同的表示方式,较小类型并不是较大类型的子类型,较小的类型不能隐式转换为较大的类型。这意味着在不进行显式转换的额情况下我们不能把Byte型值赋给一个Int变量。
    val b:Byte = 1//ok,字面值式静态检测的
    val i:Int = b//错误
    我们可以代用其toInt()方法
    val b:Byte = 1//ok,字面值式静态检测的
    val i:Int = b.toInt()//ok
    每种数据类型都有下面的这些方法,可以转化为其它的类型:
    toByte():Byte
    toShort():Short
    toInt():Int
    toLong():Long
    toFloat():Float
    toDouble():Double
    toChar():Char

    有些情况下也是可以使用自动类型转化的,前提是可以根据上下文环境推断出正确的数据类型而且数学操作符会做相应的重载。
    val l = 1L + 3
    //Long + Int => Long

    5.位操作符

    对于Int和Long类型,还有一系列的位操作符可以使用,分别是
    shl(bits) - 左移位(Java’s <<)
    shr(bits) - 右移位(Java’s >>)
    ushr(bits) - 无符号右移位(Java’s >>)
    and(bits) - 与
    or(bits) - 或
    xor(bits) - 异或
    inv() - 反向
    示例
    val a = 5
    val b = a shl 2
    Log.i(“aaaaaa”,b.toString())输出20

    6.字符

    字符均使用单引号,如:‘1’,‘a’
    Kotlin中字符不能和数字直接操作
    c == 1 //错误写法
    我们可以显示地把字符转为Int数字
    val c:Char = ‘1’
    c.toInt() == 1 // true
    当需要可空引用时,字符、数字会被装箱。装箱不会保留同一性。

    7.布尔

    布尔用Boolean类型表示,它有两个值:true和false。若需要可空引用布尔会被装箱。\n\n内置布尔运算有:
    || – 或
    && – 与
    ! – 非

    8.数组

    创建数组的两种方式
    //[1,2,3]
    val a = arrayOf(1,2,3)
    //[0,2,4]
    val b = Array(3) { i -> (i * 2) }
    //读取数组内容Log.i(“aaaaaa”,a[0].toString())\nLog.i(“aaaaaa”,b[1].toString())
    除了类Array,还有ByteArray、ShortArray、IntArray,用来表示各个类型的数组,省去了装箱操作,因此效率更高。
    val x:IntArray = IntArrayOf(1,2,3)
    x[0] = x[1] + x[2]

    9.字符串

    方括号可以很方便的获取字符串中的某个字符,也可以通过for循环来遍历
    val str = “aeiou”
    for (c in str){
    Log.i(“aaaaaa”,c.toString());
    }

  • 相关阅读:
    Python+reuqests自动化接口测试
    【Linux】动静态库的使用与软链接的结合
    矩阵的奇异值分解
    【2023】redis-stream配合spring的data-redis详细使用
    TouchGFX界面开发 | 添加触摸屏驱动
    论webpack
    深度学习·理论篇(2023版)·第007篇实际应用中的维度与相关性:数据实际维度+举例说明局部泛化+不同数据到结果的映射函数对实际维度的影响
    【日常-bug】文件上传oss报错-跨域- ‘Access-Control-Allow-Origin
    Linux中配置Maven环境
    【AI】第 1 章:你的深度学习之旅
  • 原文地址:https://blog.csdn.net/m0_71905144/article/details/127623030