<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # 1. 變量 `Kotlin`中的變量分為兩種類型: - 可變變量:用關鍵字`var`來修飾,可以進行多次修改。 - 不可變變量:用關鍵字`val`來修飾,只能進行一次初始化。 語法格式: ``` var/val 變量名: 數據類型 // 比如 var number: Int ``` 聲明變量的同時給變量賦值: ``` var number: Int = 123 ``` 值得注意的是,`Kotlin`會根據變量的值自動識別變量的數據類型,所以上面的代碼可以簡寫為: ``` var number = 123 ``` 而這種寫法也就是我們在`Java`中常寫的方式。 # 2. 常見數據類型 注意到上面我們所使用的是`Int`來定義一個數值類型,在`Kotlin`中自有的數據類型為: - 數值型,`Byte`(`1`字節)、`Short`(`2`字節)、`Int`(`4`字節)、`Long`(`5`字節)、`Float`(`4`字節)、`Double`(`8`字節); - 字符型,`Char`; - 布爾型,`Boolean`; - 數組型,`IntArray`、`BooleanArray`、`CharArray`以及非基本類型的`Array<String>` - 字符串型,`String`; ## 2.1 數組類型 對于數組的兩種定義方式這里給出一個案例: ``` var arrays_1: IntArray = intArrayOf(1, 2, 3) var arrays_2: Array<Int> = arrayOf(1, 2, 3) ``` ## 2.2 字符串類型 字符串的常見操作在各類編程語言中都提供了較多的操作`API`,且也是日常編碼過程中使用較多的一些基礎操作。所以在這里對一些常見的字符串操作進行介紹: ### 2.2.1 查找字符串中元素 查找字符串中的第`1`個元素、最后`1`個元素以及角標為`index`的元素。 ~~~ fun main() { val name = "張天下" print(name.first()) // 張 print(name.get(1)) // 天 print(name.last()) // 下 } ~~~ ### 2.2.2 字符串截取 ~~~ fun main() { val name = "張天下" print(name.substring(1)) // 天下 [1, length - 1] print(name.substring(0, 1)) // 張 [0, 1) } ~~~ 還提供了`subSequence`方法,用法類似。 ### 2.2.3 字符串替換 使用`replace`函數完成,比如下面的案例: ~~~ fun main() { var name = "張天下張" var newName = name.replace("張", "李") print(name) // 張天下張 print(newName) // 李天下李 } ~~~ 從上面的案例中我們可以知道兩點: - 字符串和`Java`中類似,還是常量,也就是對于字符串的修改并不會在原本內容上修改,而是建立一個新的字符串。所以這里建議定義字符串的時候使用`val`關鍵字。 - `replace`操作的替換過程類似正則匹配,會多個匹配,多個替換。 同時也提供了多個替換方法,比如下面的案例: ~~~ fun main() { val name = "張天下張" val newName_0 = name.replaceFirst("張", "李") val newName_1 = name.replaceBefore("張", "李") val newName_2 = name.replaceAfter("張", "李") val newName_3 = name.replaceRange(0, 2, "李") println(newName_0) // 李天下張 println(newName_1) // 李張天下張 println(newName_2) // 張李 println(newName_3) // 李下張 } ~~~ 從上面案例可以知道: - `replaceFirst`只替換第一個匹配; - `replaceBefore`將第一個匹配位置的之前元素替換,即使之前沒有元素; - `replaceAfter`將第一個匹配的之后的元素替換,即使之后沒有元素; - `replaceRange`按照范圍進行替換,范圍為`[index, last)`; ### 2.2.4 字符串分割 ~~~ fun main() { val name = "天下張" println(name.split("下")) // [天, 張] } ~~~ ### 2.2.5 模板表達式 字符串模板表達式由`${變量名/函數/表達式}`組成,也可以省略`{}`,例如“`$變量名`”。 ~~~ fun main() { var firstName: String = "張" val name = "天下$firstName" // 使用變量 println(name) // 天下張 } ~~~ 這種寫法優點類似于在`Java`中的字符串的標準化輸出`%s`,但是這種方式感覺更加方便。 上面的案例僅僅使用了`${變量名}`,下面將實踐后面兩種方式: ~~~ fun firstName(): String { return "張" } fun main() { val name = "天下${firstName()}" // 使用函數 println(name) // 天下張 } ~~~ 接著上面的案例: ~~~ fun main() { val name = "天下${firstName()}" // 使用表達式 println(name.replaceAfter("張", "李")) // 天下張李 } ~~~ ## 2.3 類型之間轉換 在`IDEA`中可以輸入`toChar`等類似的`to`前綴即可,比如下面的案例: ~~~ fun main() { var number = 23 println(number.toString()) println(number.toByte()) println(number.toFloat()) println(number.toDouble()) ... } ~~~ ## 2.4 其余類型 至于其余數據類型的用法和`Java`中類似,這里就不再給出案例。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看