Kotlin学习-基本类型(三)

来源:互联网 发布:淘宝衣服女装 编辑:程序博客网 时间:2024/05/17 10:42

Kotlin基本类型

      Kotlin基本类型包括,Byte、Short、Int、Long、Float、Double 、布尔等。在Kotlin中字符不是数值类型

        类型字宽Double64Float32Long64Int32Short16Byte8        字面常量

  • 十进制:123
  • 长整型以L结尾:123L
  • 16进制以0x开头:0x0f
  • 2进制以0b开头:0b01001
        kotlin不支持8进制

        kotlin也支持传统的浮点型
  • Doubles:默认123.34,123.5e10
  • Floats:使用f或F后缀       
      两个数字的比较
         在kotlin中没有基本的数据类型只有封装的数字类型,当你定义一个变量时,其实kotlin帮你封装成为了一个对象,这样保证不会出现空指针。其实比较两个数字类型,就有比较数字大小和两个对象是否相等这两种。
         比较两个对象地址是否相等在kotlin中用===,两个==表示两个数值是否相等。
         
        var a:Int = 100        print(a === a)//比较对象地址 true        //创建了两个不同的对象        var boxA:Int = a        var boxB:Int = a        print(boxA === boxB)//false返回的地址不一样        print(boxA == boxB)//true 比较两个对象的值是否相等

    类型转换
         由于不同的表达方式,短类型不是长类型的子类。短类型不能直接隐式转换成长类型,所以在不进行显式转换的情况下不能将Byte的值赋值给Int变量
         
val t1:Byte = 1var t2:Int  = t1//错误
        可以通过显式转换将数值类型提升
val t1:Byte = 1var t2:Int  = t1.toInt()//显式转换
       每个数值类型都支持下面的转换
toByte(): BytetoShort(): ShorttoInt(): InttoLong(): LongtoFloat(): FloattoDouble(): DoubletoChar(): Char
     有些情况下也是可以使用自动转化的,前提条件是根据上下文环境推断出正确的数据类型而且数字操作符会做相应的重载。
val l = 100L+1 //Long + Int = Long

   字符
        和java不一样,kotlin不能直接与数字进行操作。Char必需用单引用进行包信起来。如:‘a’,'b'
       
fun test(value : Char){    if(value == 1){//错误                } }

    字符字面值用单引用:'1',特殊字符可以用反斜杠转义。 支持这几个转义序列:\t、 \b、\n、\r、\'、\"、\\ 和 \$
    我们可以将字符显示的转化成Int数字
fun test(value : Char){     value.toInt()}

  布尔

   布尔用 Boolean 类型表示,它有两个值:true 和 false。

   字符串

    字符串用String表示,字符串是不变的,字符串中的元素可以通过s[i]来获取,也可以通过for循环来遍历。
   
   fun test(value : String){        for (s in value){            print(s)        }    }  
    Kotlin 支持三个引号 """ 扩起来的字符串,支持多行字符串,
   
 val text = """            多行字符串            多行字符串            """print(text.trimMargin())//删除前置空格

   数组
     数组用Array实现,可以通过下标来获取或设置数组的值。数组创建的两种方式:一种通过函数arrayOf(),另一个通过工厂函数实现创建。
         
       //[1,2,3]       val a = arrayOf(1,2,3)        //[0,2,4,6]       val b = Array(4,{i->(i*2)})

    

原创粉丝点击