栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Kotlin基本数据类型

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Kotlin基本数据类型

目录

2.字面常量

3.比较两个数字大小

4.类型转换

5.位操作符

6.字符

7.布尔 


1.Kotlin的基本数据类型

Byte、Short、Int、Long、Float、Double

不同于Java,字符不属于数值类型,是一个独立的数据类型。

2.字面常量

<1>十进制:123

<2>长整型:123L

<3>16进制以0x开头:0x0F

<4>2进制以0b开头:0b00001011

<5>注:不支持8进制

<6>Double写法:123.5,123.5e10

<7>Floats使用f或F后缀:123.5f

3.比较两个数字大小

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

val a:Int = 10000
Log.i("aaaaaa",(a===a).toString())//true,值相等,对象地址相等
//经过装箱,创建了两个不同的对象
val boxedA:Int? = a
val boxedB:Int? = a
Log.i("aaaaaa",(boxedA===boxedB).toString())//false,值相等,但对象地址不同
Log.i("aaaaaa",(boxedA==boxedB).toString())//true,值相等

4.类型转换

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

val b:Byte = 1//ok,字面值式静态检测的
val i:Int = b//错误

我们可以代用其toInt()方法

val b:Byte = 1//ok,字面值式静态检测的
val i:Int = b.toInt()//ok

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

toByte():Byte

toShort():Short

toInt():Int

toLong():Long

toFloat():Float

toDouble():Double

toChar():Char

有些情况下也是可以使用自动类型转化的,前提是可以根据上下文环境推断出正确的数据类型而且数学操作符会做相应的重载。

 val l = 1L + 3//Long + Int => Long

5.位操作符

对于Int和Long类型,还有一系列的位操作符可以使用,分别是

shl(bits) - 左移位(Java's <<)

shr(bits) - 右移位(Java's >>)

ushr(bits) - 无符号右移位(Java's >>)

and(bits) - 与

or(bits) - 或

xor(bits) - 异或

inv() - 反向

示例

val a = 5
val b = a shl 2
Log.i("aaaaaa",b.toString())

输出20

6.字符

字符均使用单引号,如:'1','a'

Kotlin中字符不能和数字直接操作

c == 1 //错误写法

我们可以显示地把字符转为Int数字

val c:Char = '1'
c.toInt() == 1 // true

当需要可空引用时,字符、数字会被装箱。装箱不会保留同一性。

7.布尔

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/943665.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号