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 示例
val myNum: Float = 5.75F
println(myNum)
Double 示例
val myNum: Double = 19.99
println(myNum)
使用 Float 還是 Double?
浮點值的精度表示小數點後的位數。Float 的精度只有六到七位小數,而 Double 變數的精度大約為 15 位。因此,大多數計算使用 Double 更安全。
還要注意,Float 型別的值應以 "F" 結尾。
科學計數法
浮點數也可以是科學計數法的形式,用 "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 值顯示某些字元。值 66 在 Java 中會輸出 "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)
最後
為了方便其他裝置和平臺的小夥伴觀看往期文章:
微信公眾號搜尋:Let us Coding
,關注後即可獲取最新文章推送
看完如果覺得有幫助,歡迎 點贊、收藏、關注