Kotlin学习-基本类型(三)

Kotlin基本类型

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

        

类型字宽
Double64
Float32
Long64
Int32
Short16
Byte8
        字面常量

  • 十进制: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)})

    

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值