Kotlin是一种类似于Java的静态类型语言。也就是说,在编译期间,变量的类型是已知的。例如:
val name: String
val age: Int = 18
在这里,编译器会知道name的类型是String,age的类型是Int.
Kotlin的类型可以分类为:
- 数字
- 字符
- 布尔
- 数组
数字类型
Kotlin的数字类似Java,有6种类型表示数字,不过Kotlin只支持10进制、16进制(以 0x 开头)、2进制(以 0b 开头),不支持8进制
你可以使用下划线使数字常量更易读:
val age: Int = 18_00 //表示1800
类型 | 位宽度 |
---|---|
Byte | 8 |
Short | 16 |
Int | 32 |
Long | 64 |
Float | 32 |
Double | 64 |
1、Byte类型
Byte 数据类型的值范围从 -128 到 127(8位有符号二进制补码整数)。
如果可以确定变量的值在[-128,127]范围之内,则可以使用Byte代替 Int 或 其他整数数据类型来节省内存。
val range: Byte = 112
println(range)
输入:112
2、Short 类型
Short 数据类型的值范围从 -32768 到 32767 (16位有符号二进制补码整数)。
如果可以确定该变量的值在[-32768,32767]之内,则可以使用它代替其他整数数据类型来节省内存。
val range: Short = 112
println(range)
输入:112
3、Int 类型
Int 数据类型的值范围从-231 到 231-1(32位带符号二进制补码整数)。
val range: Int = 1120
println(range)
如果您为变量分配 -231 至 231-1之间的整数而未明确指定其类型,则该变量将为Int类型。
4、Long类型
Long数据类型值的范围从 -263 到 263-1(64位符号的二进制补码整数)。
val range: Long = 1120
println(range)
如果为变量分配大于231-1 或 小于 -231 的整数值(未明确指定其类型),则该变量将为 Long 类型,同样,您可以使用大写字母L指定变量的类型为 Long
Byte、Short、Int、long都是整数类型,只是表示的整数的范围和存储占据的空间不同而已,在不指定类型的情况下。整型默认是Int类型,当我们在没有指定类型的时候,把一个整数指定为Long的时候,直接在数字后面加字母L
5、Double 类型
Double类型是双精度64位浮点
val range: Double = 112.5
println(range)
6、Float 类型
Float数据类型是单精度的32位浮点。
val range: Float = 112.5f
println(range)
请注意,我们在上面的程序中使用 112.5F 而不是 112.5。这是因为 112.5 是Double字面量,因此您不能将 Double值 分配给 Float 类型变量。
要编译器 将 19.5 视作为 Float,则您需要在最后使用F。
如果不确定在程序中将为变量分配什么数字值,可以将其指定为 Number 类型。这使您既可以将整数值又可以将浮点值分配给变量(一次分配一个)。
val range: Number = 112.5
println(range)
Char字符型
为了在Kotlin中表示字符,使用了Char类型。
与Java不同,Char 类型不能视为数字。
val range: Char = 'a'
println(range)
输出: a //这一点不同于java
Boolean类型
Boolean 数据类型有两个可能的值: true 或 false。
val range: Boolean = true
println(range)
Array数组
数组是一个容器,其中包含一种类型的数据(值)。例如,您可以创建一个可以容纳100个Int 类型值的数组 。
在Kotlin中,数组由Array 类表示 。该类具有 get 和 set 函数,size 属性以及其他一些有用的成员函数。
String字符串
在Kotlin中,字符串由String类表示。诸如此类的字符串文字"this is a string" 被实现为此类的实例。