Kotlin 變量和基本類型

在本教程中,您將了解變量,如何創(chuàng)建變量以及Kotlin支持創(chuàng)建變量的基本數(shù)據(jù)類型。

如您所知,變量是內(nèi)存(存儲(chǔ)區(qū)域)中用于存儲(chǔ)數(shù)據(jù)的位置。

為了指示存儲(chǔ)區(qū)域,應(yīng)該為每個(gè)變量賦予唯一的名稱(標(biāo)識(shí)符)。了解有關(guān)如何在Kotlin中命名變量的更多信息

如何在Kotlin中聲明變量?

要在 Kotlin 中聲明變量,請(qǐng)使用 var 或 val關(guān)鍵字。這是一個(gè)實(shí)例:

var language = "French"
val score = 95

本文稍后將討論使用 var 和 val 的區(qū)別?,F(xiàn)在,讓我們集中討論變量聲明。

這里,language 是String類型的變量,score 是Int類型的變量。 您不必指定變量的類型;Kotlin 會(huì)隱式為您指定類型。 編譯器通過初始化式表達(dá)式(上面程序中,“French”是字符串,而95是整數(shù)值)知道這一點(diǎn)。 這在編程中稱為 類型推斷。

但是,如果要執(zhí)行以下操作,則可以顯式指定類型:

var language: String = "French"
val score: Int = 95

在上面的示例中,我們?cè)诼暶鬟^程中初始化了變量。但是,這不是必需的。您可以在一個(gè)語(yǔ)句中聲明變量并指定其類型,然后稍后在程序中在另一條語(yǔ)句中初始化變量。

var language: String      //String 類型的變量聲明
... .. ...
language = "French"       //變量初始化

val score: Int          //Int 類型的變量聲明
... .. ...
score = 95             //變量初始化

以下是一些錯(cuò)誤的示例。

var language           // Error 
language = "French"

此處,language 未明確指定變量的類型,也未在聲明期間初始化變量。

var language: String
language = 14         // Error

此處,我們嘗試將14(整數(shù)值)分配給不同類型(String)的變量,也會(huì)拋出錯(cuò)誤。

var 和 val 之間的區(qū)別

  • val(不可變引用)- 賦值后,無法更改使用val關(guān)鍵字聲明的變量。 它類似于Java中的 final變量。

  • var(可變引用)- 使用var關(guān)鍵字聲明的變量可以稍后在程序中更改。它對(duì)應(yīng)于常規(guī)的Java變量。

以下是一些示例:

var language = "French"
language = "German"

在此,變量 language 被重新分配值 German。由于使用 var 聲明了變量 ,因此此代碼可以完美運(yùn)行。

val language = "French"
language = "German"      // Error

而在上面的示例中,您無法將 language 變量重新分配值 German,因?yàn)樵撟兞渴鞘褂?val 聲明的。

現(xiàn)在,您知道什么是 Kotlin 變量,接下來,是時(shí)候?qū)W習(xí) Kotlin變量 可以采用的不同值了。

Kotlin 基本類型

Kotlin是一種類似于Java的靜態(tài)類型語(yǔ)言。也就是說,在編譯期間,變量的類型是已知的。例如,

val language: Int
val marks = 12.3

在這里,編譯器知道 language 類型為 Int,并且在編譯之前marks為類型 Double。

Kotlin中的內(nèi)置類型可以分類為:

  • Numbers(數(shù)字)

  • Characters(字符)

  • Booleans(布爾)

  • Arrays(數(shù)組)

Kotlin 數(shù)字類型(Numbers)

Kotlin中的數(shù)字類似于Java。有6種內(nèi)置類型表示數(shù)字。

  • Byte

  • Short

  • Int

  • Long

  • Float

  • Double

1、Byte 類型

  • Byte 數(shù)據(jù)類型的值范圍從 -128 到 127(8位有符號(hào)二進(jìn)制補(bǔ)碼整數(shù))。

  • 如果可以確定變量的值在[-128,127]范圍之內(nèi),則可以使用它代替 Int 或 其他整數(shù)數(shù)據(jù)類型來節(jié)省內(nèi)存。

fun main(args : Array<String>) {
    val range: Byte = 112
    println("$range")

    // 下面的代碼顯示錯(cuò)誤。 為什么?
    // val range1: Byte = 200
}

運(yùn)行該程序時(shí),輸出為:

112

2、Short 類型

  • Short 數(shù)據(jù)類型的值范圍從 -32768 到 32767 (16位有符號(hào)二進(jìn)制補(bǔ)碼整數(shù))。

  • 如果可以確定該變量的值在[-32768,32767]之內(nèi),則可以使用它代替其他整數(shù)數(shù)據(jù)類型來節(jié)省內(nèi)存。

fun main(args : Array<String>) {

    val temperature: Short = -11245
    println("$temperature")
}

運(yùn)行該程序時(shí),輸出為:

-11245

3、Int 類型

  • Int 數(shù)據(jù)類型的值范圍從-231 到 231-1(32位帶符號(hào)二進(jìn)制補(bǔ)碼整數(shù))。

fun main(args : Array<String>) {

    val score: Int =  100000
    println("$score")
}

運(yùn)行該程序時(shí),輸出為:

100000

如果您為變量分配 -231 至 231-1之間的整數(shù)而未明確指定其類型,則該變量將為Int類型。 例如,

fun main(args : Array<String>) {

   // score 是Int類型
    val score = 10
    println("$score")
}

如果使用的是IntelliJ IDEA,則可以將光標(biāo)置于變量?jī)?nèi),然后按 Ctrl + Shift + P 查看其類型。
在IntelliJ IDEA中查看變量的類型

4、Long 類型

  • Long數(shù)據(jù)類型值的范圍從 -263 到 263-1(64位符號(hào)的二進(jìn)制補(bǔ)碼整數(shù))。

fun main(args : Array<String>) {

    val highestScore: Long = 9999
    println("$highestScore")
}

運(yùn)行該程序時(shí),輸出為:

9999

如果為變量分配大于231-1 或 小于 -231 的整數(shù)值(未明確指定其類型),則該變量將為 Long 類型。例如,

val distance = 10000000000  //  Long類型的變量distance

同樣,您可以使用大寫字母L指定變量的類型為 Long。例如,

val distance = 100L    // Long類型的distance 值

5、Double 類型

  • Double類型是雙精度64位浮點(diǎn)。

fun main(args : Array<String>) {

    // distance為Double類型
    val distance = 999.5
    println("$distance")
}

運(yùn)行該程序時(shí),輸出為:

999.5

6、Float 類型

  • Float數(shù)據(jù)類型是單精度的32位浮點(diǎn)。

fun main(args : Array<String>) {

    // distance is of type Float
    val distance = 19.5F
    println("$distance")
}

運(yùn)行該程序時(shí),輸出為:

19.5

請(qǐng)注意,我們 在上面的程序中使用 19.5F 而不是 19.5。這是因?yàn)?19.5 是Double字面量,因此您不能將 Double值 分配給 Float 類型變量。

要編譯器 將 19.5 視作為 Float,則您需要在最后使用F。

如果不確定在程序中將為變量分配什么數(shù)字值,可以將其指定為 Number 類型。這使您既可以將整數(shù)值又可以將浮點(diǎn)值分配給變量(一次分配一個(gè))。例如:

fun main(args : Array<String>) {

    var test: Number = 12.2
    println("$test")

    test = 12
    // Number 智能轉(zhuǎn)換為 Int
    println("$test")

    test = 120L
    // Number 智能轉(zhuǎn)換為 Long
    println("$test")
}

運(yùn)行該程序時(shí),輸出為:

12.2
12
120

Kotlin 字符類型(Char)

為了在Kotlin中表示字符,使用了Char類型。

與Java不同,Char 類型不能視為數(shù)字。訪問此頁(yè)面以了解有關(guān)Java char 類型更多信息。

fun main(args : Array<String>) {

    val letter: Char
    letter = 'k'
    println("$letter")
}

運(yùn)行該程序時(shí),輸出為:

k

在Java中,您可以執(zhí)行以下操作:

char letter = 65;

但是,以下代碼在Kotlin中給出了錯(cuò)誤。

var letter: Char = 65  // Error

Kotlin 布爾類型(Boolean)

  •  Boolean 數(shù)據(jù)類型有兩個(gè)可能的值:  true 或  false。

fun main(args : Array<String>) {

    val flag = true
    println("$flag")
}

布爾值用于決策語(yǔ)句(將在后面的章節(jié)中討論)。

Kotlin 數(shù)組(Array)

數(shù)組是一個(gè)容器,其中包含一種類型的數(shù)據(jù)(值)。例如,您可以創(chuàng)建一個(gè)可以容納100個(gè)Int 類型值的數(shù)組 。

在Kotlin中,數(shù)組由Array 類表示  。該類具有  get 和  set 函數(shù),size 屬性以及其他一些有用的成員函數(shù)。

Kotlin 字符串(String)

在Kotlin中,字符串由String類表示。諸如此類的字符串文字"this is a string" 被實(shí)現(xiàn)為此類的實(shí)例。

丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清