Kotlin 数据类型
Kotlin 数据类型
在 Kotlin 中,变量的 类型 由其值决定:
实例
fun main() {val myNum = 5 // Intval myDoubleNum = 5.99 // Doubleval myLetter = 'D' // Charval myBoolean = true // Booleanval myText = "Hello" // Stringprintln(myNum)println(myDoubleNum)println(myLetter)println(myBoolean)println(myText)}
但是,您从上一章中了解到,如果需要,可以指定类型:
实例
fun main() {val myNum: Int = 5 // Intval myDoubleNum: Double = 5.99 // Doubleval myLetter: Char = 'D' // Charval myBoolean: Boolean = true // Booleanval myText: String = "Hello" // Stringprintln(myNum)println(myDoubleNum)println(myLetter)println(myBoolean)println(myText)}
有时必须指定类型,但通常不指定。无论如何,知道不同类型代表什么总是好的。
稍后,您将了解有关 何时 需要指定类型的更多知识。
数据类型分为不同的组:
- Numbers
- Characters
- Booleans
- Strings
- Arrays
Numbers
数字类型分为两组:
整数类型存储整数,正数或负数(如 123 或 -456),不带小数。有效类型有 Byte、Short、Int 和 Long。
浮点类型表示带有小数部分的数字,包含一个或多个小数。有两种类型:Float 和 Double。
Int 返回,对于浮点数,它通常以 Double 返回。整型
Byte
Byte 字节数据类型可以存储从 -128 到 127 的整数。当您确定该值将在 -128 和 127 之间时,可以使用它代替 Int 或其他整数类型来节省内存:
实例
fun main() {val myNum: Byte = 100println(myNum)}
Short
Short 短整型数据类型可以存储从 -32768 到 32767 的整数:
实例
fun main() {val myNum: Short = 5000println(myNum)}
Int
Int 整型数据类型可以存储从 -2147483648 到 2147483647 的整数:
实例
fun main() {val myNum: Int = 100000println(myNum)}
Long
Long 长整型数据类型可以存储从 -9223372036854775808 到 9223372036854775808 的整数。当 Int 不足以存储值时,使用此选项。也可以选择以 "L" 结束该值:
实例
fun main() {val myNum: Long = 15000000000Lprintln(myNum)}
Int 和 Long 之间的区别
一个整数是一个 Int,只要它最大是 2147483647。如果超出这个范围,它被定义为 Long:
实例
val myNum1 = 2147483647 // Intval myNum2 = 2147483648 // Long
浮点型
浮点类型表示带小数的数字,例如 9.99 或 3.14515。
Float
Float 数据类型可以存储 3.4e−038 至 3.4e+038 中的小数。请注意,该值应以 "F" 结尾:
实例
fun main() {val myNum: Float = 5.75Fprintln(myNum)}
Double
Double 数据类型可以存储 1.7e−308 至 1.7e+038 中的小数:
实例
fun main() {val myNum: Double = 19.99println(myNum)}
使用 Float 还是 Double?
Float 的精度只有 6 或 7 位小数,而 Double 的精度约为 15 位。因此,在大多数计算中使用 Double 更安全。科学数字
浮点数也可以是带有 "e" 或 "E" 的科学数字,表示 10 的幂:
实例
fun main() {val myNum1: Float = 35E3Fval myNum2: Double = 12E4println(myNum1)println(myNum2)}
Booleans
Boolean 布尔数据类型值只能是 true 或 false:
实例
fun main() {val isKotlinFun: Boolean = trueval isFishTasty: Boolean = falseprintln(isKotlinFun) // Outputs trueprintln(isFishTasty) // Outputs false}
布尔值主要用于条件测试,您将在后面的章节中了解更多相关知识。
Characters
Char 数据类型用于存储 单 个字符。char 值必须用 单引号 括起来,如 'A' 或 'c':
实例
fun main() {val myGrade: Char = 'B'println(myGrade)}
与 Java 不同,您不能使用 ASCII 值来显示某些字符。值 66 在Java中会输出一个 "B",但在 Kotlin 中会生成错误:
实例
val myLetter: Char = 66println(myLetter) // Error
Strings
String 字符串数据类型用于存储字符序列(文本)。字符串值必须用 双引号 括起来:
实例
fun main() {val myText: String = "Hello World"System.out.println(myText)}
您可以在 Kotlin Strings 章节学习到更多 String 的知识。
Arrays
数组用于在单个变量中存储多个值,而不是为每个值声明单独的变量。
您可以在 Kotlin Arrays 章节学习到更多 Arrays 的知识。
Type Conversion
类型转换是指将一种数据类型的值转换为另一种类型。
在 Kotlin 中,数字类型转换不同于 Java。例如,无法使用以下代码将 Int 类型转换为 Long 类型:
实例
fun main() {val x: Int = 5val y: Long = xprintln(y)}
要将数字数据类型转换为其他类型,必须使用以下函数之一:
toByte()toShort()toInt()toLong()toFloat()toDouble()toChar()
实例
fun main() {val x: Int = 5val y: Long = x.toLong()println(y)}