Kotlin 数据类型
Kotlin 数据类型
在 Kotlin 中,变量的类型由其值决定
示例
val myNum = 5 // Int
val myDoubleNum = 5.99 // Double
val myLetter = 'D' // Char
val myBoolean = true // Boolean
val myText = "Hello" // String
自己尝试 »
但是,您在上一章中了解到,如果需要,可以指定类型
示例
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
或其他整型以节省内存
Short
Short
数据类型可以存储 -32768 到 32767 之间的整数
Int
Int
数据类型可以存储 -2147483648 到 2147483647 之间的整数
Long
Long
数据类型可以存储 -9223372036854775808 到 9223372036854775807 之间的整数。当 Int
不足以存储该值时,使用此类型。可以选择在值末尾添加 "L"
Int 和 Long 的区别
只要整数在 2147483647 以内,它就是一个 Int
。如果超过该值,它将被定义为 Long
示例
val myNum1 = 2147483647 // Int
val myNum2 = 2147483648 // Long
浮点型
浮点型表示带有小数的数字,例如 9.99 或 3.14515。
Float
和 Double
数据类型可以存储小数
使用 Float
还是 Double
?
浮点值的精度表示该值在小数点后可以有多少位数字。Float
的精度只有六位或七位小数,而 Double
变量的精度约为 15 位。因此,对于大多数计算来说,使用 Double
更安全。
还要注意,您应该在 Float
类型的值的末尾添加 "F"。
科学计数法
浮点数也可以是使用 "e" 或 "E" 表示 10 的幂的科学计数法
布尔值
Boolean
数据类型,只能取 true
或 false
值
示例
val isKotlinFun: Boolean = true
val isFishTasty: Boolean = false
println(isKotlinFun) // Outputs true
println(isFishTasty) // Outputs false
自己尝试 »
布尔值主要用于条件测试,您将在以后的章节中学习更多关于它的内容。
字符
Char
数据类型用于存储单个字符。字符值必须用单引号括起来,例如 'A' 或 'c'
与 Java 不同,您不能使用 ASCII 值来显示某些字符。在 Java 中,值 66 将输出 "B",但在 Kotlin 中将产生错误
示例
val myLetter: Char = 66
println(myLetter) // Error
字符串
String
数据类型用于存储字符序列(文本)。字符串值必须用双引号括起来
您将在字符串章节中学习更多关于字符串的信息。
数组
数组用于在一个变量中存储多个值,而不是为每个值声明单独的变量。
您将在数组章节中学习更多关于数组的信息。
类型转换
类型转换是指将一种数据类型的的值转换为另一种类型。
在 Kotlin 中,数值类型转换与Java不同。例如,不能使用以下代码将 Int
类型转换为 Long
类型
要将数值数据类型转换为另一种类型,必须使用以下函数之一:toByte()
、toShort()
、toInt()
、toLong()
、toFloat()
、toDouble()
或 toChar()