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 的整数。可以使用它来代替 Int 或其他整数类型,以在您确定该值将在 -128 和 127 之间时节省内存:
Short
Short 数据类型可以存储从 -32768 到 32767 的整数:
Int
Int 数据类型可以存储从 -2147483648 到 2147483647 的整数:
Long
Long 数据类型可以存储从 -9223372036854775808 到 9223372036854775808 的整数。这用于 Int 不足以存储该值。
或者,您可以使用 "L" 结束值:
Int 和 Long 的区别
整数是Int,只要不超过2147483647,如果超过,定义为长:
实例
val myNum1 = 2147483647 // Int
val myNum2 = 2147483648 // Long
浮点类型
浮点类型表示带小数的数字,例如 9.99 或 3.14515。
Float
Float 数据类型可以存储从 3.4e−038 到 3.4e+038 的小数。 请注意,您应该以 "F" 结束值:
Double
Double数据类型可以存储从 1.7e−308 到 1.7e+038 的小数:
使用 Float 或 Double?
浮点值的精度表示该值在小数点后可以有多少位。
Float 的精度只有六位或七位十进制,而 Double 变量的精度约为 15 位 . 因此,在大多数计算中使用 Double 会更安全。
科学数字
浮点数也可以是科学数,用"e" 或 "E"表示10的幂:
布尔值
Boolean 数据类型,只能取值 true 或 false:
实例
val isKotlinFun: Boolean = true
val isFishTasty: Boolean = false
println(isKotlinFun) // 输出 true
println(isFishTasty) // 输出 false
亲自试一试 »
布尔值主要用于条件测试,您将在后面的章节中了解更多信息。
字符
Char 数据类型用于存储单个字符。 char 值必须用单引号括起来,例如 'A' 或 'c':
与 Java 不同,您不能使用 ASCII 值来显示某些字符。 值 66 在 Java 中会输出 "B",但在 Kotlin 中会产生错误:
实例
val myLetter: Char = 66
println(myLetter) // Error
字符串
String 数据类型用于存储字符序列(文本)。 字符串值必须用 双 引号括起来:
您将在字符串章节中了解有关字符串的更多信息。
数组
数组用于在单个变量中存储多个值,而不是为每个值声明单独的变量。
您将在数组章节中了解有关数组的更多信息。
类型转换
类型转换是将一种数据类型的值转换为另一种类型。
在 Kotlin 中,数值类型转换不同于 Java。 例如,无法使用以下代码将 Int 类型转换为 Long 类型:< /p>
要将数值数据类型转换为另一种类型,必须使用以下函数之一: toByte(), toShort(), toInt(), toLong(), toFloat(), toDouble() 或 toChar():

