在Kotlin中任何事物都是對象你能夠在任何變量上調用相應的方法或屬性。Kotlin的一些內置類型以下:java
在Kotlin內置的類型我的以爲更加像Java中的一些包裝類,若是在學習以前將思惟轉換成Java包裝類的思想我以爲學起來更容易理解一些。固然它們還與Java多少有些不一樣。數組
Kotlin包含以下number類型:架構
怎麼樣有沒有感受跟Java裏面的java.lang.Double、java.lang.Long這些包裝類差很少用起來也差很少。還有在Kotlin的數字常量能夠用十進制、十六進制、指數形式小數、二進制可是沒有八進制。Kotlin中是沒有自動向上轉型的。機器學習
//內置數據類型 var d: Double = 64.0 var i: Int = 32 var l: Long = 64 var f: Float = 32.0F var b: Byte = 8 var s: Short = 16 //數字常量 i = 1 //十進制 i = 0x1 //十六進制 i = 01 //八進制不容許 i = 0b00000 //二進制 d = 1.2E10 //指數形式 f = 1.2E10F //沒有自動向上轉換 l = i //Int不能自動轉換成Long d = f //一樣Float也不能自動轉換
不過上面說了Kotlin中任何事物都是對象那麼咱們能夠調用相應的方法來顯示轉換。學習
var i: Int = 5; var l: Long = i.toLong();
字符類型在Kotlin中用Char來表示,它不能直接去應用一個number類型如var ch: Int = 'c'
是錯誤的必須要顯示的轉換var ch: Int = 'c'.toInt()
一樣Char也支持轉意字符\n、\b、\r等跟Java中的差很少。大數據
在Kotlin數組分爲基本類型的數組和其餘類型數據,基本數組類型是指數組中的元素類型都是基本數據類型如: Int、Long、Floa這些類型的數組在Kotlin中分別用IntArray、LongArray、FloatArray來表示能夠經過Kotlin內置的方法來建立<*>ArrayOf(values)
裏面的*號表明具體的元素類型。code
var intArray: IntArray = intArrayOf(1, 3, 4); var longArray: LongArray = longArrayOf(1L, 2L)
其餘類型的數組能夠使用Array
經過傳入大小與生成對象的方法來建立數組。orm
var str: Array<String> = Array(5, { index -> index.toString })
字符串用String表示同Java同樣是不可變的一樣內部也用字符組成,訪問內部字符能夠經過s[i]
和循環來遍歷。對象
var hello: String = "HelloWorld" for(index: Int in 0..hello.length - 1){ println(hello[index]) } for(ch in hello){ println(ch) }
字符串可分爲可以轉意一些特殊字符的字符串和原始的字符串。字符串
var text1: String = "Hello\tWorld" var text2: String = """ Hello\bWorld """ println(text1) println(text2)
在text1
中\t會轉間成一個製表符但在text2不但\b不會轉意且任何內容都會照樣輸出。原始字符串相似XMl中的CDATA。字符串中能夠使用模版,就像Java中的String.format的同樣但在Kotlin中使用$號開始後面能夠加變量名來替換內容。
var name: String = "Kotlin"; var greet: String = "Hi, $name"; println(greet)
學習Kotlin時免不了要與Java比較但Kotlin更像相似Swift,看IOS同事寫Swift後學習了Kotlin的基本類型後感受太類似了。說實話仍是比較喜歡Java這種強類型的語言也許是用了幾年不太適應吧。既然開始了必定要堅持學下去不能落伍。本人水平有限可能免不了手滑一下若有錯誤煩請指出,會即時更改。
《架構文摘》天天一篇架構領域重磅好文,涉及一線互聯網公司應用架構(高可用、高性 能、高穩定)、大數據、機器學習等各個熱門領域。