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,IntLong

浮点类型表示带有小数部分的数字,包含一个或多个小数。有两种类型: FloatDouble

如果您没有指定数值变量的类型,它通常会返回为Int对于整数和Double对于浮点数。


整数类型

字节

这个Byte数据类型可以存储从-128到127的整数。这可以用来代替Int当您确定该值在 -128 和 127 之间时,可以使用其他整数类型来节省内存:

示例

val myNum: Byte = 100
println(myNum)
亲自试一试 »

短的

这个Short数据类型可以存储从-32768到32767的整数:

示例

val myNum: Short = 5000
println(myNum)
亲自试一试 »

INT

这个Int数据类型可以存储从-2147483648到2147483647的整数:

示例

val myNum: Int = 100000
println(myNum)
亲自试一试 »

长的

这个Long数据类型可以存储从-9223372036854775807到9223372036854775807的整数。当Int不够大,无法存储该值。您也可以选择以 "L" 结束该值:

示例

val myNum: Long = 15000000000L
println(myNum)
亲自试一试 »

Int 和 Long 之间的区别

一个整数是一个Int只要最大到2147483647。如果超出这个范围,则定义为Long:

示例

val myNum1 = 2147483647  // Int
val myNum2 = 2147483648  // Long


浮点类型

浮点类型表示带小数的数字,例如 9.99 或 3.14515。

这个FloatDouble数据类型可以存储小数:

浮动示例

val myNum: Float = 5.75F
println(myNum)
亲自试一试 »

双样本

val myNum: Double = 19.99
println(myNum)
亲自试一试 »

使用Float或者Double

这个精确浮点值的小数点后可以有多少位。精度为Float只有六位或七位小数,而Double变量的精度约为 15 位。因此使用起来比较安全Double对于大多数计算。

另请注意,您应该结束 a 的值Float输入"F"。

科学数字

浮点数也可以是科学数,用 "e" 或 "E" 表示 10 的幂:

示例

val myNum1: Float = 35E3F
val myNum2: Double = 12E4
println(myNum1)
println(myNum2)
亲自试一试 »

布尔值

这个Boolean数据类型,只能取值true或者false:

示例

val isKotlinFun: Boolean = true
val isFishTasty: Boolean = false
println(isKotlinFun)   // Outputs true
println(isFishTasty)   // Outputs false 
亲自试一试 »

布尔值主要用于条件测试,您将在后面的章节中了解更多信息。


人物

这个Char数据类型用于存储单身的特点。 char 值必须被包围单身的引号,例如“A”或“c”:

示例

val myGrade: Char = 'B'
println(myGrade)
亲自试一试 »

与 Java 不同,您不能使用 ASCII 值来显示某些字符。值 66 在 Java 中会输出 "B",但在 Kotlin 中会生成错误:

示例

val myLetter: Char = 66
println(myLetter) // Error

字符串

这个String数据类型用于存储字符序列(文本)。字符串值必须被包围双倍的引号:

示例

val myText: String = "Hello World"
println(myText)
亲自试一试 »

您将了解有关字符串的更多信息字符串章节


数组

数组用于在单个变量中存储多个值,而不是为每个值声明单独的变量。

您将了解有关数组的更多信息数组章节


类型转换

类型转换是将一种数据类型的值转换为另一种类型的过程。

在 Kotlin 中,数值类型转换不同于JAVA。例如,无法将Int键入一个Long输入以下代码:

示例

val x: Int = 5
val y: Long = x
println(y) // Error: Type mismatch 
亲自试一试 »

要将数字数据类型转换为另一种类型,必须使用以下函数之一:toByte(),toShort(),toInt(),toLong(),toFloat(),toDouble()或者toChar():

示例

val x: Int = 5
val y: Long = x.toLong()
println(y)
亲自试一试 »