基礎數據類型

今天就和你們一塊兒瞭解 Kotlin 中的基礎數據類型,包括數字類型、字符類型、字符串類型和布爾類型:java

1. 數字類型

除了 char 類型之外,Java 中的基本數據類型在 Kotlin 中都有相對應的數據類型,並且長度都是相同的:app

Kotlin 類型 Java 類型 長度ide

Byte byte 8函數

Short short 16spa

Int int 32code

Long long 64orm

Float float 32對象

Double double 64ci

能夠看到,Kotlin 中的類型都是對 Java 基本類型的封裝,由於 Kotlin 中不存在基本數據類型,因此不存在裝箱拆箱的問題。字符串

須要注意的一點是,Kotlin 沒有自動類型轉換,取值範圍小的變量類型不會像 Java 那樣,自動轉換爲取值範圍大的類型。也就是說,不存在「Byte -> Short -> Int -> Long -> Float -> Double」這樣的自動轉換鏈。對於數字類型間的相互轉換,可使用這些數字類型的 to 方法:

val i: Int = 1val l: Long = i.toLong() //使用 to 方法顯式地轉換數字類型

對於數字的表示方法,有幾個須要注意的地方:

  • Long 類型數字用大寫的 L 字母標記:123456789L ;

  • Float 類型數字用 f 或 F 標記:123.456F ;

  • Kotlin 不支持八進制數字的表示方法;

2. Char 類型

Kotlin 中的 Char 類型並非一個數字,它是一個真正的「字符」:

val c: Char = 'c'println(c == 1) //編譯錯誤,不能直接比較println(c.toInt() == 1) //編譯經過,能夠把字符類型顯式地轉換爲數字類型

Kotlin 的 Char 也支持使用反斜槓 \ 轉義字符,支持的轉義序列有 \t 、\b\n\r 、\' 、\" 、\\ 和\$,轉義 Unicode 字符的寫法與 Java 相同:\uFF00

3. String 類型

Kotlin 中的 String 類型與 Java 中的相似,都是不可變的對象,可是 kotlin.String 類提供的函數不多,只有 3 個經常使用函數和 1 個屬性:

public override val length: Intpublic override fun get(index: Int): Char //與 Java 中的 charAt() 方法相同public override fun subSequence(startIndex: Int, endIndex: Int): CharSequencepublic override fun compareTo(other: String): Int

Kotlin 的字符串能夠視爲爲一個 CharArray 對象,可用來遍歷字符串中的每一個字符:

val s = "Hello World"//在這裏,Kotlin 編譯器會把 c 自動推斷爲 Char 類型。for(c in s) println(c)

此外,Kotlin 字符串還支持特有的 字符串模板 功能,能夠視爲一種轉義表達式的方法:

val i = 10//使用 $ 字符表示字符串模模板,它會把後面的表達式求值並插入到字符串的指定位置val s1 = "The value of i is $i" // s1 = "The value of i is 10"//建議用一對大括號括起 $ 後的表達式,避免歧義val s2 = "i / 2 = ${i /2}" // s2 = "i / 2 = 5"

字符串模板的寫法,比 Java 中用 + 號鏈接字符串中的可變與不可變部分的寫法 可讀性更強

4. Boolean 類型

與 Java 中的 boolean 類型徹底相同,有 true 和 false 兩個值。

相關文章
相關標籤/搜索