Kotlin學習系列(一)


基本類型

在Kotlin中任何事物都是對象你可以在任何變量上調用相應的方法或屬性。Kotlin的一些內置類型如下:

  • Number: 包含整形與浮點型
  • Character: 字符(Chat)
  • Boolean: 布爾值
  • String: 字符串
  • Array: 數組

在Kotlin內置的類型個人覺得更加像Java中的一些包裝類,如果在學習之前將思維轉換成Java包裝類的思想我覺得學起來更容易理解一些。當然它們還與Java多少有些不同。

Number類型

Kotlin包含如下number類型:

  • Double
  • Float
  • Long
  • Int
  • Short
  • Byte

怎么樣有沒有感覺跟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)里面的*號代表具體的元素類型。

    var intArray: IntArray = intArrayOf(1, 3, 4);
    var longArray: LongArray = longArrayOf(1L, 2L)

其他類型的數組可以使用Array通過傳入大小與生成對象的方法來創建數組。

    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這種強類型的語言也許是用了幾年不太適應吧。既然開始了一定要堅持學下去不能落伍。本人水平有限可能免不了手滑一下如有錯誤煩請指出,會即時更改。




《架構文摘》每天一篇架構領域重磅好文,涉及一線互聯網公司應用架構(高可用、高性 能、高穩定)、大數據、機器學習等各個熱門領域。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM