Kotlin 数据类型
在 Kotlin 中,变量的类型由其值决定:
示例
代码语言:kotlin复制val myNum = 5 // Int
val myDoubleNum = 5.99 // Double
val myLetter = 'D' // Char
val myBoolean = true // Boolean
val myText = "Hello" // String
然而,从上一章中你了解到,如果需要的话,可以指定类型:
示例
代码语言:kotlin复制val myNum: Int = 5 // Int
val myDoubleNum: Double = 5.99 // Double
val myLetter: Char = 'D' // Char
val myBoolean: Boolean = true // Boolean
val myText: String = "Hello" // String
有时你必须指定类型,而很多时候则不需要。不管怎样,了解不同类型代表什么是有好处的。
稍后你将了解何时需要指定类型。
数据类型分为不同的组:
- 数字
- 字符
- 布尔值
- 字符串
- 数组
数字
数字类型分为两组:
整数类型存储整数,正数或负数(如 123 或 -456),不带小数。有效类型为 Byte、Short、Int 和 Long。
浮点类型表示带有小数部分的数字,包含一个或多个小数点。有两种类型:Float 和 Double。
如果不为数字变量指定类型,则大多数情况下会返回 Int 用于整数和 Double 用于浮点数。
整数类型
Byte
Byte 数据类型可以存储从 -128 到 127 的整数。这可以在你确定值在 -128 到 127 范围内时替代 Int 或其他整数类型以节省内存:
示例
代码语言:kotlin复制val myNum: Byte = 100
println(myNum)
Short
Short 数据类型可以存储从 -32768 到 32767 的整数:
示例
代码语言:kotlin复制val myNum: Short = 5000
println(myNum)
Int
Int 数据类型可以存储从 -2147483648 到 2147483647 的整数:
示例
代码语言:kotlin复制val myNum: Int = 100000
println(myNum)
Long
Long 数据类型可以存储从 -9223372036854775807 到 9223372036854775807 的整数。当 Int 不足以存储值时使用。可选地,你可以在值后加 "L":
示例
代码语言:kotlin复制val myNum: Long = 15000000000L
println(myNum)
Int 和 Long 的区别
只要一个整数不超过 2147483647 就是 Int。如果超出这个范围,则定义为 Long:
示例
代码语言:kotlin复制val myNum1 = 2147483647 // Int
val myNum2 = 2147483648 // Long
浮点类型
浮点类型表示带小数的数字,如 9.99 或 3.14515。
Float 和 Double 数据类型可以存储小数:
Float 示例
代码语言:kotlin复制val myNum: Float = 5.75F
println(myNum)
Double 示例
代码语言:kotlin复制val myNum: Double = 19.99
println(myNum)
使用 Float 还是 Double?
浮点值的精度表示小数点后的位数。Float 的精度只有六到七位小数,而 Double 变量的精度大约为 15 位。因此,大多数计算使用 Double 更安全。
还要注意,Float 类型的值应以 "F" 结尾。
科学计数法
浮点数也可以是科学计数法的形式,用 "e" 或 "E" 表示 10 的幂:
示例
代码语言:kotlin复制val myNum1: Float = 35E3F
val myNum2: Double = 12E4
println(myNum1)
println(myNum2)
布尔值
布尔数据类型只能取值 true 或 false:
示例
代码语言:kotlin复制val isKotlinFun: Boolean = true
val isFishTasty: Boolean = false
println(isKotlinFun) // 输出 true
println(isFishTasty) // 输出 false
布尔值主要用于条件测试,你将在后续章节中学习更多。
字符
Char 数据类型用于存储单个字符。字符值必须用单引号括起来,如 'A' 或 'c':
示例
代码语言:kotlin复制val myGrade: Char = 'B'
println(myGrade)
与 Java 不同,你不能使用 ASCII 值显示某些字符。值 66 在 Java 中会输出 "B",但在 Kotlin 中会产生错误:
示例
代码语言:kotlin复制val myLetter: Char = 66
println(myLetter) // 错误
字符串
String 数据类型用于存储字符序列(文本)。字符串值必须用双引号括起来:
示例
代码语言:kotlin复制val myText: String = "Hello World"
println(myText)
你将在字符串章节中学习更多关于字符串的内容。
数组
数组用于在单个变量中存储多个值,而不是为每个值声明单独的变量。
你将在数组章节中学习更多关于数组的内容。
类型转换
类型转换是将一种数据类型的值转换为另一种类型。
在 Kotlin 中,数字类型转换与 Java 不同。例如,不能使用以下代码将 Int 类型转换为 Long 类型:
示例
代码语言:kotlin复制val x: Int = 5
val y: Long = x
println(y) // 错误:类型不匹配
要将一种数字数据类型转换为另一种类型,必须使用以下函数之一:toByte()、toShort()、toInt()、toLong()、toFloat()、toDouble() 或 toChar():
示例
代码语言:kotlin复制val x: Int = 5
val y: Long = x.toLong()
println(y)
最后
为了方便其他设备和平台的小伙伴观看往期文章:
微信公众号搜索:Let us Coding
,关注后即可获取最新文章推送
看完如果觉得有帮助,欢迎 点赞、收藏、关注