Kotlin 学习笔记(四)—— Kotlin基础之基本类型
Kotlin学习笔记系列教程
Kotlin 学习笔记(一)—— 概述、学习曲线、开发工具、参考资料
Kotlin 学习笔记(二)—— 基础语法
Kotlin 学习笔记(三)—— 习惯用法
在Kotlin中,所有东西都是对象,在这个意义上讲我们可以在任何变量上调用成员函数和属性,一些类型可以有特殊的内部表示–例如,数字、字符和布尔值可以在运行时表示为原生类型值,但是对于用户来说,他们看起来就像普通类,在本篇中,将描述Kotlin中使用的基本类型:数字、字符、布尔值、数组与字符串。
数字
Kotlin处理数字在某种程度上接近Java,但是不完全相同,例如,对于数字没有隐式拓宽转换(例如Java中int 可以隐式转换为long),另外有些情况的字面值略有不同。
Kotlin 提供了如下的内置类型来表示数字:
Type | Bit Width |
---|---|
Double | 64 |
Float | 32 |
Long | 64 |
Int | 32 |
Short | 16 |
Byte | 8 |
Kotlin中字符不是数字
字面常量
数值常量字面值有以下几种:
- 十进制
-Long 类型用大写L标记:32L
- 十六进制:0x0F
- 二进制:0b00001011
注意:不支持八进制
Kotlin同样支持浮点数的常规表示方法:
–默认double:22.2
、240.5e10
– Float用f
或者F
标记:234.5f
数字字面值的下划线(自1.1起)
可以使用下划线使数字常量更具有可读性:
val sixMillion = 6_000_000
val phoneNumber = 138_0013_8000
val creditCardNumber = 1234_5678_9012_3456L
表达方式
在Java平台数字是物理存储为JVM的原生类型,除非我们需要一个可空的引用(如Int?
) 或泛型,后者情况下会把数字装箱。
注意数字装箱不必保留同一性:
val a: Int = 10000
print(a === a) // 输出“true”
val boxedA: Int? = a
val anotherBoxedA: Int? = a
print(boxedA === anotherBoxedA)