美文网首页Kothlin
kotlin基本类型

kotlin基本类型

作者: 覆水无言 | 来源:发表于2019-05-28 22:03 被阅读0次

    基本数据类型

    基本数据类型包括数字、字符、布尔值、数组与字符串

    一:数字

    kotlin提供的数字类型与Java很接近,但是kotlin对数字没有隐式转换(eg:int可隐式转换为long),
    其中某些字面值也有所不同
    kotlin内置的数字类型如下

    type bit width
    Double 64
    Float 32
    Long 64
    Int 32
    Short 16
    Byte 8

    这里Int相当于Java中的int.

    1.1:使用

    //常用数字的字面量
    var a: Int = 1
    var l : Long = 123L    //使用L后缀标记
    var f: Float = 123.5f   //使用f后缀标记
    var d = 12.4   //默认为Double
    

    注意:kotlin中可以使用下划线使你的数字字面量更易读

    var l: Long = 1_000_000L  //这个和1000000L是一样的
    

    1.2:显示转换

    Java中数字较小类型可以隐式转换为较大的类型,但kotlin由于表达方式的不同无法实现隐式转换,kotlin
    为我们提供了显示转换。每个数字类型支持以下转换

    • toInt(): Int
    • toByte() : Byte
    • toDouble() : Double
    • toFloat() : Float
    • toShort(): Short
    • toLong(): Long
    • toChar(): Char
      注意:缺乏隐式转换也很少使用,kotlin为我们提供了很好的上下文推断
    val a = 1L + 1  //a上下文推断为Long类型  Long+Int ->Long
    

    1.3:运算

    1.3.1:相等

    相等性检测 a==b a!=b, 与Java一样

    1.3.2:比较操作

    < , >, <= , >= 操作符与Java一致

    1.3.3:区间判断

    x in a..b
    x !in a..b
    

    1.3.4:位操作

    位运算只用与Int和Long

    操作符 作用
    shl 有符号左移,相当于Java中的<<
    shr 有符号右移 ,相当于Java中的>>
    ushr 无符号右移,相当于Java中的 >>>
    and 位与
    or 位或
    xor 位异或
    inv 位非
    val x = (1 shl 2) and 0x000FF000
    

    二:字符

    字符为Char类型,用单引号声明

    val a: Char = 'a'
    

    注意:特殊字符需要转义,这与Java一样

    三:布尔

    布尔用Boolean表示,有true false, 若需要可空引用布尔会被装箱

    1.1:布尔运算

    操作符 作用
    逻辑或
    && 逻辑与
    逻辑非

    四:数组

    在kotlin中使用Array类表示,它定义了get,set函数,以及size属性。
    我们可以使用库函数arrayOf()或者arrayOfNulls()来创建数组,

    var a = arrayOf(1,2,3)   //创建一个数组
    var b = arrayOfNulls(1,2,3)     //创建一个非空数组,所有元素非空
    val asc = Array(5) { i -> (i*i).toString() }
    asc.forEach{ pringln(it) }
    

    注意:与Java不同kotlin中数组里的类型是不可变的,
    kotlin中有无装箱操作的专门的原生类型数组,使用ByteArray、 ShortArray、IntArray等生成。

    五:字符串

    字符串使用String类型表示,字符串是不可变的,字符串可以使用[]索引访问。

    var a: String = "abc"
    for (x in a){  println(x) }
    

    可以使用+连接字符串,这里与Java一致。

    1.1:字面量

    kotlin字符串面值分为转义字符串和原始字符串。

    • 转义字符串里可以包含转义字符,使用双引号括起来,和Java字符串类似。
    • 原始字符串使用三引号""",内部没有转义,并包括换行以及其他字符
    val s = "tian\n"
    val s = """
        for (c in s) {
            println(c)
        }"""      //这里输出s,就会把字符原始输出
    

    1.2:字符串模板

    字符串可以包含模板表达式,即一小段代码,模板以$符号开头。

    val i = 10
    println("i = $i")      //$后跟一变量,输出就代替为变量的值, i=10
    println("i = ${ i * i}")   //$后跟一模板表达式,需要使用{}括起来
    

    相关文章

      网友评论

        本文标题:kotlin基本类型

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