Kotlin 資料型別詳解:數字、字元、布林值與型別轉換指南

小万哥丶發表於2024-06-21

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,關注後即可獲取最新文章推送

看完如果覺得有幫助,歡迎 點贊、收藏、關注

相關文章