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 或其他整数类型以节省内存:
实例
val myNum: Byte = 100 println(myNum)
Short
Short
数据类型可以存储从 -32768 到 32767 的整数:
实例
val myNum: Short = 5000 println(myNum)
Int
Int
数据类型可以存储从 -2147483648 到 2147483647 的整数:
实例
val myNum: Int = 100000 println(myNum)
Long
Long
数据类型可以存储从 -9223372036854775807 到 9223372036854775807 的整数。当 Int
不够大以存储值时,会使用它。可选地,你可以在数值后面加上 "L":
实例
val myNum: Long = 15000000000L println(myNum)
Int 和 Long 之间的区别
只要整数不超过 2147483647,它就是 Int
。如果超过该值,则定义为 Long
:
实例
val myNum1 = 2147483647 // Int val myNum2 = 2147483648 // Long
浮点类型
浮点类型表示带小数的数字,例如 9.99 或 3.14515。
Float
和 Double
数据类型可以存储小数:
Float Example
val myNum: Float = 5.75F println(myNum)
Double Example
val myNum: Double = 19.99 println(myNum)
使用浮点型还是双精度型?
浮点值的精度指示值在小数点后可以有多少位数字。Float
的精度只有 6 到 7 位小数,而 Double
变量的精度约为 15 位。因此,对于大多数计算来说,使用 Double
更安全。
还要注意,你应该以 F
结尾来表示 Float
类型的值。
科学计数法
浮点数也可以是带有 e
或 E
的科学计数法,表示 10 的幂:
实例
val myNum1: Float = 35E3F val myNum2: Double = 12E4 println(myNum1) println(myNum2)
布尔值
布尔数据类型并且只能取值 true
或 false
:
实例
val isKotlinFun: Boolean = true val isFishTasty: Boolean = false println(isKotlinFun) // 输出 true println(isFishTasty) // 输出 false
布尔值主要用于条件测试,您将在后面的章节中了解更多信息。
字符
Char
数据类型用于存储单个字符。字符值必须用单引号括起来,例如 'A' 或 'c':
实例
val myGrade: Char = 'B' println(myGrade)
与 Java 不同,您不能使用 ASCII 值来显示某些字符。在 Java 中,值 66 会输出 "B",但在 Kotlin 中会生成错误:
实例
val myLetter: Char = 66 println(myLetter) // 错误
字符串
String
数据类型用于存储字符序列(文本)。字符串值必须用双引号括起来:
实例
val myText: String = "Hello World" println(myText)
您将在字符串一章中了解有关字符串的更多信息。
数组
数组用于在单个变量中存储多个值,而不是为每个值声明单独的变量。
您将在数组一章中了解有关数组的更多信息。
类型转换
类型转换是指将一种数据类型的值转换为另一种类型。
在 Kotlin 中,数值类型转换与 Java 不同。例如,无法使用以下代码将 Int
类型转换为 Long
类型:
实例
val x: Int = 5 val y: Long = x println(y) // 错误:类型不匹配
要将一种数值数据类型转换为另一种类型,你必须使用以下函数之一:toByte()
、toShort()
、toInt()
、toLong()
、toFloat()
、toDouble()
或 toChar()
:
实例
val x: Int = 5 val y: Long = x.toLong() println(y)