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),不带小数。 有效类型为 ByteShortIntLong.

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

如果您不指定数值变量的类型,它通常以 Int 形式返回整数,Double 用于浮点数。


整数类型

Byte

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

实例

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 数据类型可以存储从 -9223372036854775808 到 9223372036854775808 的整数。这用于 Int 不足以存储该值。 或者,您可以使用 "L" 结束值:

实例

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

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" 结束值:

实例

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

Double

Double数据类型可以存储从 1.7e−308 到 1.7e+038 的小数:

实例

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

使用 FloatDouble?

浮点值的精度表示该值在小数点后可以有多少位。 Float 的精度只有六位或七位十进制,而 Double 变量的精度约为 15 位 . 因此,在大多数计算中使用 Double 会更安全。

科学数字

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

实例

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

布尔值

Boolean 数据类型,只能取值 truefalse

实例

val isKotlinFun: Boolean = true
val isFishTasty: Boolean = false
println(isKotlinFun)   // 输出 true
println(isFishTasty)   // 输出 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 类型:< /p>

实例

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)
亲自试一试 »