美文网首页
安卓学习笔记------kotlin基本数据类型

安卓学习笔记------kotlin基本数据类型

作者: 天青色等烟雨hhft | 来源:发表于2017-12-16 20:56 被阅读0次

    Kotlin 的基本数值类型包括 Byte、Short、Int、Long、Float、Double 等。不同于Java的是,字符不属于数值类型,是一个独立的数据类型。

    比较两个数字

    Kotlin 中没有基础数据类型,只有封装的数字类型,你每定义的一个变量,其实 Kotlin 帮你封装了一个对象,这样可以保证不会出现空指针。数字类型也一样,所有在比较两个数字的时候,就有比较数据大小和比较两个对象是否相同的区别了。
    在 Kotlin 中,三个等号 === 表示比较对象地址,两个 == 表示比较两个值大小。

    fun main(args:Array<String>){
      val a:Int = 10000
      print(a===a)//返回true,值相等,对象地址相等
      //经过了装箱,创建了两个不同的对象
      val boxedA :Int?=a
      val anotherBoxedA:Int?=a
    
      println(boxedA === anotherBoxedA) //  false,值相等,对象地址不一样
        println(boxedA == anotherBoxedA) // true,值相等
    }
    
    类型转化

    由于不同的表示方式,较小类型并不是较大类型的子类型,较小的类型不能隐式转换为较大的类型。 这意味着在不进行显式转换的情况下我们不能把 Byte 型值赋给一个 Int 变量。
    错误例子

    val b: Byte = 1  
    val i: Int = b 
    

    正确例子

    val b: Byte = 1 
    val i: Int = b.toInt() 
    

    每种数据类型都有下面的这些方法,可以转化为其它的类型:

    toByte(): Byte
    toShort(): Short
    toInt(): Int
    toLong(): Long
    toFloat(): Float
    toDouble(): Double
    toChar(): Char
    
    数组

    数组用类 Array 实现,并且还有一个 size 属性及 get 和 set 方法,由于使用 [] 重载了 get 和 set 方法,所以可以通过下标很方便的获取或者设置数组对应位置的值。
    数组的创建两种方式:一种是使用函数arrayOf();另外一种是使用工厂函数。

    fun main(args:Array<String>){
      val a=arrayof(1,2,3)
      val b=Array(3,{i-> (i * 2) })
    
         //读取数组内容
        println(a[0])    // 输出结果:1
        println(b[1])    // 输出结果:2
    }
    
    字符串

    和 Java 一样,String 是可不变的。方括号 [] 语法可以很方便的获取字符串中的某个字符,也可以通过 for 循环来遍历:

    for(c in str){
      print(c)
    }
    

    kotlin支持三个引号“”“扩起来的字符串,支持多行字符串

    fun main(args:Array<String>){
      val text="""
          多行字符串
          多行字符串
      """
    print(text)
    }
    

    String可以通过trimMargin()方法来删除多余的空白

    fun main(args:Array<String>){
      val text="""
          多行字符串
          多行字符串
      """.trimMargin()
    print(text)
    }
    
    字符串模板

    字符串可以包含模板表达式 ,即一些小段代码,会求值并把结果合并到字符串中。 模板表达式以美元符($)开头,由一个简单的名字构成:

    fun main(args:Array<String>){
      val i=10
      val s="i=$i"//求值结果为i=10
      print(s)
    }
    

    或者用花括号扩起来的任意表达式

    fun main(args:Array<String>){
      fun main(args: Array<String>) {
        val s = "runoob"
        val str = "$s.length is ${s.length}" // 求值结果为   "runoob.length is 6"
        println(str)
    }
    }
    

    相关文章

      网友评论

          本文标题:安卓学习笔记------kotlin基本数据类型

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