Kotlin中變數類型由值決定,如Int、Double、Char、Boolean、String。通常可省略類型聲明,但有時需指定。數字類型分整數(Byte, Short, Int, Long)和浮點(Float, Double),預設整數為Int,浮點為Double。布爾值是true或false,C... ...
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
,關註後即可獲取最新文章推送
看完如果覺得有幫助,歡迎 點贊、收藏、關註