Kotlin基本类型

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

        

类型

字宽

Double

64

Float

32

Long

64

Int

32

Short

16

Byte

8

        字面常量

  • 十进制: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 = 1
var t2:Int  = t1//错误


val t1:Byte = 1
var t2:Int  = t1.toInt()//显式转换


toByte(): Byte
toShort(): Short
toInt(): Int
toLong(): Long
toFloat(): Float
toDouble(): Double
toChar(): 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)})