<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>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                # Kotlin 變量和原始類型 > 原文: [https://www.programiz.com/kotlin-programming/variable-types](https://www.programiz.com/kotlin-programming/variable-types) #### 在本教程中,您將了解變量,如何創建變量以及 Kotlin 支持創建變量的基本數據類型。 如您所知,變量是內存中用于存儲數據的位置(存儲區域)。 為了指示存儲區域,應該為每個變量賦予唯一的名稱(標識符)。 了解更多有關[如何在 Kotlin 中命名變量的信息?](/kotlin-programming/keywords-identifiers "Java Keywords and Identifiers") * * * ### 如何在 Kotlin 中聲明變量? 要在 Kotlin 中聲明變量,請使用`var`或`val`關鍵字。 這是一個例子: ```kt var language = "French" val score = 95 ``` 本文稍后將討論使用`var`和`val`的區別。 現在,讓我們集中討論變量聲明。 在此,`language`是類型`String`的變量,`score`是類型`Int`的變量。 您不必指定變量的類型。 Kotlin 暗中為您執行此操作。 編譯器通過初始化表達式來知道這一點(在上述程序中,`"French"`是`String`,`95`是整數)。 這在編程中稱為類型推斷。 但是,如果要執行以下操作,則可以顯式指定類型: ```kt var language: String = "French" val score: Int = 95 ``` 在上面的示例中,我們在聲明過程中初始化了變量。 但是,這不是必需的。 您可以在一個語句中聲明變量并指定其類型,然后稍后在程序中在另一條語句中初始化變量。 ```kt var language: String // variable declaration of type String ... .. ... language = "French" // variable initialization val score: Int // variable declaration of type Int ... .. ... score = 95 // variable initialization ``` * * * 以下是一些導致錯誤的示例。 ```kt var language // Error language = "French" ``` 在此,未明確指定`language`變量的類型,也未在聲明期間初始化該變量。 ```kt var language: String language = 14 // Error ``` 此處,我們試圖將 14(整數值)分配給不同類型的變量(`String`)。 * * * ### `var`和`val`之間的區別 * `val`(不可變引用) - 一旦分配了值,就無法更改使用`val`關鍵字聲明的變量。 它類似于 Java 中的*最終變量*。 * `var`(可變引用) - 使用`var`關鍵字聲明的變量可以稍后在程序中更改。 它對應于常規 Java 變量。 以下是一些示例: ```kt var language = "French" language = "German" ``` 在此,`language`變量被重新分配給`German`。 由于該變量是使用`var`聲明的,因此此代碼可以完美運行。 ```kt val language = "French" language = "German" // Error ``` 在上面的示例中,您無法將`language`變量重新分配給`German`,因為該變量是使用`val`聲明的。 * * * 現在,您知道什么是 Kotlin 變量,是時候學習 Kotlin 變量可以采用的不同值了。 * * * ## Kotlin 原始類型 Kotlin 是一種類似于 Java 的靜態類型語言。 也就是說,在編譯期間,變量的類型是已知的。 例如, ```kt val language: Int val marks = 12.3 ``` 在此,編譯器在編譯時間之前就知道`language`是`Int`類型的,而`marks`是`Double`類型的。 Kotlin 中的內置類型可以分類為: * 數字 * 字符 * 布爾值 * 數組 ### 數字類型 * * * Kotlin 中的數字類似于 Java。 有 6 種內置類型代表數字。 * `Byte` * `Short` * `Int` * `Long` * `Float` * `Double` #### 1.`Byte` * * * * `Byte`數據類型的值可以從 -128 到 127(8 位帶符號二進制補碼整數)。 * 如果可以確定某個變量的值在`[-128, 127]`之內,則可以使用它代替`Int`或其他整數數據類型來節省內存 * 示例: ```kt fun main(args : Array<String>) { val range: Byte = 112 println("$range") // The code below gives error. Why? // val range1: Byte = 200 } ``` 運行該程序時,輸出為: ```kt 112 ``` #### 2.`Short` * * * * `Short`數據類型的值可以從 -32768 到 32767(16 位帶符號二進制補碼整數)。 * 如果可以確定該變量的值在`[-32768, 32767]`之內,則可以使用它代替其他整數數據類型來節省內存。 * 示例: ```kt fun main(args : Array<String>) { val temperature: Short = -11245 println("$temperature") } ``` 運行該程序時,輸出為: ```kt -11245 ``` #### 3.`Int` * * * * `Int`數據類型的值可以從`-2 ^ 31`到`2 ^ 31 -1`(32 位帶符號的二進制補碼整數)。 * 示例: ```kt fun main(args : Array<String>) { val score: Int = 100000 println("$score") } ``` 運行該程序時,輸出為: ```kt 100000 ``` 如果您在`-2^31`至`2^31-1`之間分配一個整數而未明確指定其類型,則該變量將為`Int`類型。 例如, ```kt fun main(args : Array<String>) { // score is of type Int val score = 10 println("$score") } ``` 如果使用的是 IntelliJ IDEA,則可以將光標放在變量內,然后按`Ctrl + Shift + P`查看其類型。 ![View type of a variable in IntelliJ IDEA](https://img.kancloud.cn/3d/d0/3dd0b56a1405f3609ddbdc7f03923171_495x199.png) #### 4.`Long` * * * * `Long`數據類型的值可以從`-2 ^ 63`到`2 ^ 63 -1`(64 位帶符號二進制補碼整數)。 * 示例: ```kt fun main(args : Array<String>) { val highestScore: Long = 9999 println("$highestScore") } ``` 運行該程序時,輸出為: ```kt 9999 ``` 如果為變量分配一個大于`2^31-1`或小于`-2^31`的整數值(未明確指定其類型),則該變量將為`Long`類型。 例如, ```kt val distance = 10000000000 // distance variable of type Long ``` 同樣,您可以使用大寫字母`L`來指定變量為`Long`類型。 例如, ```kt val distance = 100L // distance value of type Long ``` #### 5.`Double` * * * * `Double`類型是雙精度 64 位浮點。 * 示例: ```kt fun main(args : Array<String>) { // distance is of type Double val distance = 999.5 println("$distance") } ``` 運行該程序時,輸出為: ```kt 999.5 ``` #### `Float` * * * * `Float`數據類型是單精度 32 位浮點。 如果您有興趣,請進一步了解[單精度和雙精度浮點](http://stackoverflow.com/questions/801117/whats-the-difference-between-a-single-precision-and-double-precision-floating-p)。 * 示例: ```kt fun main(args : Array<String>) { // distance is of type Float val distance = 19.5F println("$distance") } ``` 運行該程序時,輸出為: ```kt 19.5 ``` 請注意,我們在上述程序中使用了`19.5F`而不是`19.5`。 這是因為`19.5`是`Double`字面值,并且您無法將`Double`值分配給`Float`類型的變量。 要告訴編譯器將`19.5`視為`Float`,您需要最后使用`F`。 * * * 如果不確定在程序中將分配哪個數字值,可以將其指定為`Number`類型。 這使您既可以將整數值又可以將浮點值分配給變量(一次分配一個)。 例如: ```kt fun main(args : Array<String>) { var test: Number = 12.2 println("$test") test = 12 // Int smart cast from Number println("$test") test = 120L // Long smart cast from Number println("$test") } ``` 運行該程序時,輸出為: ```kt 12.2 12 120 ``` 要了解更多信息,請訪問: *Kotlin 智能轉換* * * * #### `Char` 為了表示 Kotlin 中的字符,使用了`Char`類型。 與 Java 不同,`char`類型不能視為數字。 訪問此頁面以了解有關 [Java `char`類型](/java-programming/variables-primitive-data-types#char)的更多信息。 ```kt fun main(args : Array<String>) { val letter: Char letter = 'k' println("$letter") } ``` 運行該程序時,輸出為: ```kt k ``` 在 Java 中,您可以執行以下操作: ```kt char letter = 65; ``` 但是,以下代碼在 Kotlin 中給出了錯誤。 ```kt var letter: Char = 65 // Error ``` * * * #### `Boolean` * `Boolean`數據類型有兩個可能的值,即`true`或`false`。 * 示例: ```kt fun main(args : Array<String>) { val flag = true println("$flag") } ``` 布爾值用于決策語句(將在下一章中討論)。 * * * ## Kotlin 數組 數組是一個容器,其中包含一種類型的數據(值)。 例如,您可以創建一個可以容納 100 個`Int`類型值的數組。 在 Kotlin 中,數組由`Array`類表示。 該類具有`get`和`set`函數,`size`屬性以及其他一些有用的成員函數。 要詳細了解數組,請訪問: *Kotlin 數組* * * * ## Kotlin 字符串 在 Kotlin 中,字符串由`String`類表示。 諸如`"This is a string."`之類的字符串字面值被實現為此類的實例。 要詳細了解字符串,請訪問: *Kotlin 字符串* * * * ### 推薦閱讀 * *Kotlin 中的類型轉換* * *Kotlin 中的智能轉換* * *Kotlin 可空類型*
                  <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>

                              哎呀哎呀视频在线观看