假如你想用Kotlin——基本类型与包
前言
在Kotlin中,任何事物都是对象,这点与Java基本一致。Kotlin可以在任何变量调用它的成员函数和属性,比如数值、布尔类型,它们也可以在运行时表示为原生类型值,但是使用起来它们更像是普通类。本文将分享Kotlin中的基本类型与包的相关知识。
开始
基本类型
1. 数字
Kotlin在处理数字类型与Java接近,但存在不同。例如不能直接隐式转换int转为long等。以下为内置数字类型:
它的字面值可以为二进制、十进制、十六进制,但不支持八进制。Long类型需要加上L,例如123L;默认Double类型为3.33,Float需加上f或F表示,例如3.23f。
支持下划线:
表达方式:
关于==和===后续的文章会分享到。
类型转换:
不同的类型则是不同类型,较小类型不是较大类型的子类型
Kotlin也提供数字类型的显示转换:
2. 字符
Kotlin中,字符不能直接当作数字使用,但它也有比较:
3. 布尔
布尔类型内置支持||、&&、!
4. 数组
与Java不同,Kotlin中的数组是不型变的,也就是Array不能赋值给Array。无装箱数组类型有:
5. 字符串
Kotlin的字符串使用起来相对方便一些,因为它有字符串模板,多样的字符串访问。
字符串模版
6. 运算
Kotlin运算被定义为相应的类成员,编译器会将函数调用优化为相应的指令。对于位运算没有特殊字符表示,只可以使用中缀(放中间)方式调用命名函数。例如:
位运算:
shl(bits): 有符号左移 (Java 的
shr(bits) : 有符号右移 (Java 的 >> )
ushr(bits):符号右移 (Java 的 >>> )
and(bits):位与
or(bits):位或
xor(bits):位异或
inv():位非
当为了支持泛型场景,当出现在操作符非静态类型为浮点数(Any、Comparable、类型参数等),会出现以下情况:
NaN与自身相等
NaN比任何都大,包括正无穷大
-0.0比0.0小
包
1. 定义
2. 导入
导入不仅可以导入类,还可以导入顶层函数或属性、对象声明的函数和属性、枚举常量(关于枚举后续文章会介绍到)。
结语
关于Kotlin的基本类型与包的相关知识大部分在本文有分享到,不过没使用过还需多注意到它不支持或者特有的地方。新的一周开始了,加油呀。
领取专属 10元无门槛券
私享最新 技术干货