在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
数据类型可以存储从-128到127的整数。这可以用来代替Int
当您确定该值在 -128 和 127 之间时,可以使用其他整数类型来节省内存:
这个Short
数据类型可以存储从-32768到32767的整数:
这个Int
数据类型可以存储从-2147483648到2147483647的整数:
这个Long
数据类型可以存储从-9223372036854775807到9223372036854775807的整数。当Int
不够大,无法存储该值。您也可以选择以 "L" 结束该值:
一个整数是一个Int
只要最大到2147483647。如果超出这个范围,则定义为Long
:
val myNum1 = 2147483647 // Int
val myNum2 = 2147483648 // Long
浮点类型表示带小数的数字,例如 9.99 或 3.14515。
这个Float
和Double
数据类型可以存储小数:
使用Float
或者Double
?
这个精确浮点值的小数点后可以有多少位。精度为Float
只有六位或七位小数,而Double
变量的精度约为 15 位。因此使用起来比较安全Double
对于大多数计算。
另请注意,您应该结束 a 的值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
数据类型用于存储单身的特点。 char 值必须被包围单身的引号,例如“A”或“c”:
与 Java 不同,您不能使用 ASCII 值来显示某些字符。值 66 在 Java 中会输出 "B",但在 Kotlin 中会生成错误:
val myLetter: Char = 66
println(myLetter) // Error
这个String
数据类型用于存储字符序列(文本)。字符串值必须被包围双倍的引号:
您将了解有关字符串的更多信息字符串章节。
数组用于在单个变量中存储多个值,而不是为每个值声明单独的变量。
您将了解有关数组的更多信息数组章节。
类型转换是将一种数据类型的值转换为另一种类型的过程。
在 Kotlin 中,数值类型转换不同于JAVA。例如,无法将Int
键入一个Long
输入以下代码:
要将数字数据类型转换为另一种类型,必须使用以下函数之一:toByte()
,toShort()
,toInt()
,toLong()
,toFloat()
,toDouble()
或者toChar()
: