Kotlin 數(shù)據(jù)類型詳解:數(shù)字、字符、布爾值與類型轉(zhuǎn)換指南
Kotlin 數(shù)據(jù)類型
在 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
有時你必須指定類型,而很多時候則不需要。不管怎樣,了解不同類型代表什么是有好處的。
稍后你將了解何時需要指定類型。
數(shù)據(jù)類型分為不同的組:
- 數(shù)字
- 字符
- 布爾值
- 字符串
- 數(shù)組
數(shù)字
數(shù)字類型分為兩組:
整數(shù)類型存儲整數(shù),正數(shù)或負數(shù)(如 123 或 -456),不帶小數(shù)。有效類型為 Byte、Short、Int 和 Long。
浮點類型表示帶有小數(shù)部分的數(shù)字,包含一個或多個小數(shù)點。有兩種類型:Float 和 Double。
如果不為數(shù)字變量指定類型,則大多數(shù)情況下會返回 Int 用于整數(shù)和 Double 用于浮點數(shù)。
整數(shù)類型
Byte
Byte 數(shù)據(jù)類型可以存儲從 -128 到 127 的整數(shù)。這可以在你確定值在 -128 到 127 范圍內(nèi)時替代 Int 或其他整數(shù)類型以節(jié)省內(nèi)存:
示例
val myNum: Byte = 100
println(myNum)
Short
Short 數(shù)據(jù)類型可以存儲從 -32768 到 32767 的整數(shù):
示例
val myNum: Short = 5000
println(myNum)
Int
Int 數(shù)據(jù)類型可以存儲從 -2147483648 到 2147483647 的整數(shù):
示例
val myNum: Int = 100000
println(myNum)
Long
Long 數(shù)據(jù)類型可以存儲從 -9223372036854775807 到 9223372036854775807 的整數(shù)。當 Int 不足以存儲值時使用。可選地,你可以在值后加 "L":
示例
val myNum: Long = 15000000000L
println(myNum)
Int 和 Long 的區(qū)別
只要一個整數(shù)不超過 2147483647 就是 Int。如果超出這個范圍,則定義為 Long:
示例
val myNum1 = 2147483647 // Int
val myNum2 = 2147483648 // Long
浮點類型
浮點類型表示帶小數(shù)的數(shù)字,如 9.99 或 3.14515。
Float 和 Double 數(shù)據(jù)類型可以存儲小數(shù):
Float 示例
val myNum: Float = 5.75F
println(myNum)
Double 示例
val myNum: Double = 19.99
println(myNum)
使用 Float 還是 Double?
浮點值的精度表示小數(shù)點后的位數(shù)。Float 的精度只有六到七位小數(shù),而 Double 變量的精度大約為 15 位。因此,大多數(shù)計算使用 Double 更安全。
還要注意,F(xiàn)loat 類型的值應以 "F" 結(jié)尾。
科學計數(shù)法
浮點數(shù)也可以是科學計數(shù)法的形式,用 "e" 或 "E" 表示 10 的冪:
示例
val myNum1: Float = 35E3F
val myNum2: Double = 12E4
println(myNum1)
println(myNum2)
布爾值
布爾數(shù)據(jù)類型只能取值 true 或 false:
示例
val isKotlinFun: Boolean = true
val isFishTasty: Boolean = false
println(isKotlinFun) // 輸出 true
println(isFishTasty) // 輸出 false
布爾值主要用于條件測試,你將在后續(xù)章節(jié)中學習更多。
字符
Char 數(shù)據(jù)類型用于存儲單個字符。字符值必須用單引號括起來,如 'A' 或 'c':
示例
val myGrade: Char = 'B'
println(myGrade)
與 Java 不同,你不能使用 ASCII 值顯示某些字符。值 66 在 Java 中會輸出 "B",但在 Kotlin 中會產(chǎn)生錯誤:
示例
val myLetter: Char = 66
println(myLetter) // 錯誤
字符串
String 數(shù)據(jù)類型用于存儲字符序列(文本)。字符串值必須用雙引號括起來:
示例
val myText: String = "Hello World"
println(myText)
你將在字符串章節(jié)中學習更多關于字符串的內(nèi)容。
數(shù)組
數(shù)組用于在單個變量中存儲多個值,而不是為每個值聲明單獨的變量。
你將在數(shù)組章節(jié)中學習更多關于數(shù)組的內(nèi)容。
類型轉(zhuǎn)換
類型轉(zhuǎn)換是將一種數(shù)據(jù)類型的值轉(zhuǎn)換為另一種類型。
在 Kotlin 中,數(shù)字類型轉(zhuǎn)換與 Java 不同。例如,不能使用以下代碼將 Int 類型轉(zhuǎn)換為 Long 類型:
示例
val x: Int = 5
val y: Long = x
println(y) // 錯誤:類型不匹配
要將一種數(shù)字數(shù)據(jù)類型轉(zhuǎn)換為另一種類型,必須使用以下函數(shù)之一:toByte()、toShort()、toInt()、toLong()、toFloat()、toDouble() 或 toChar():
示例
val x: Int = 5
val y: Long = x.toLong()
println(y)
最后
為了方便其他設備和平臺的小伙伴觀看往期文章:
微信公眾號搜索:Let us Coding,關注后即可獲取最新文章推送
看完如果覺得有幫助,歡迎 點贊、收藏、關注

Kotlin中變量類型由值決定,如Int、Double、Char、Boolean、String。通常可省略類型聲明,但有時需指定。數(shù)字類型分整數(shù)(Byte, Short, Int, Long)和浮點(Float, Double),默認整數(shù)為Int,浮點為Double。布爾值是true或false,Char用單引號,字符串用雙引號。數(shù)組和類型轉(zhuǎn)換將在后續(xù)討論,轉(zhuǎn)換需用特定函數(shù)。
浙公網(wǎng)安備 33010602011771號