Kotlin
Kotlin 是一種在 Java 虛擬機上運行的靜態(tài)類型編程語言,被稱之為 Android 世界的Swift,由 JetBrains 設計開發(fā)并開源。Kotlin 可以編譯成Java字節(jié)碼,也可以編譯成 JavaScript,方便在沒有 JVM 的設備上運行。在Google I/O 2017中,Google 宣布 Kotlin 成為 Android 官方開發(fā)語言。
為什么學習Kotlin
- 簡潔: 大大減少樣板代碼的數(shù)量。
- 安全: 避免空指針異常等整個類的錯誤。
- 互操作性: 充分利用 JVM、Android 和瀏覽器的現(xiàn)有庫。
- 工具友好: 可用任何 Java IDE 或者使用命令行構建。
- Android 官方開發(fā)語言
Hello World
Kotlin 程序文件以 .kt
package com.rairmmd.kt1 // 可選的包頭
fun main(args: Array<String>) { // 包級可見的函數(shù),接受一個字符串數(shù)組作為參數(shù)
println("Hello World!") // 分號可以省略
}
Kotlin環(huán)境搭建
IntelliJ IDEA
下載安裝IntelliJ IDEA,創(chuàng)建工程時選擇Kotlin工程。
Android Studio
Android Studio 3.0 內(nèi)置了Kotlin,創(chuàng)建項目時勾上Kotlin支持即可。
如果用的不是3.0版本,可安裝Kotlin插件來支持Kotlin使用。
Eclipse
打開 Eclipse,選擇 Help -> Eclipse Marketplace… 菜單,搜索 Kotlin 插件
然后重啟 Eclipse 選擇 Window -> Open Perspective -> Other...,如果看到了 Kotlin 選項表明安裝成功。
數(shù)據(jù)類型
Kotlin 的基本數(shù)值類型包括 Byte、Short、Int、Long、Float、Double 等。不同于Java的是,字符不屬于數(shù)值類型,是一個獨立的數(shù)據(jù)類型。
基本數(shù)據(jù)類型
類型 | 位 |
---|---|
Double | 64 |
Float | 32 |
Long | 64 |
Int | 32 |
Short | 16 |
Byte | 8 |
字符
和 Java 不一樣,Kotlin 中的 Char 不能直接和數(shù)字操作,Char 必需是單引號''包含起來的。比如普通字符 '0','a'。
字符字面值用單引號括起來: '1'。 特殊字符可以用反斜杠轉義。 支持這幾個轉義序列:\t、 \b、\n、\r、'、"、\ 和 $。
布爾
布爾用 Boolean 類型表示,它有兩個值:true 和 false。
數(shù)組
數(shù)組用類 Array 實現(xiàn),并且還有一個 size 屬性及 get 和 set 方法,由于使用 [] 重載了 get 和 set 方法,所以我們可以通過下標很方便的獲取或者設置數(shù)組對應位置的值。
數(shù)組的創(chuàng)建兩種方式:一種是使用函數(shù)arrayOf();另外一種是使用工廠函數(shù)。
注意: 與 Java 不同的是,Kotlin 中數(shù)組是不型變的(invariant)。
除了類Array,還有ByteArray, ShortArray, IntArray,用來表示各個類型的數(shù)組,省去了裝箱操作,因此效率更高,其用法同Array一樣。
字符串
和 Java 一樣,String 是可不變的。方括號 [] 語法可以很方便的獲取字符串中的某個字符,也可以通過 for 循環(huán)來遍歷。
類型轉換
由于不同的表示方式,較小類型并不是較大類型的子類型,較小的類型不能隱式轉換為較大的類型。 這意味著在不進行顯式轉換的情況下我們不能把 Byte 型值賦給一個 Int 變量。
每種數(shù)據(jù)類型都有下面的這些方法,可以轉化為其它的類型:
toByte(): Byte
toShort(): Short
toInt(): Int
toLong(): Long
toFloat(): Float
toDouble(): Double
toChar(): Char