欧美free性护士vide0shd,老熟女,一区二区三区,久久久久夜夜夜精品国产,久久久久久综合网天天,欧美成人护士h版

首頁綜合 正文
目錄

柚子快報激活碼778899分享:Kotlin 變量

柚子快報激活碼778899分享:Kotlin 變量

http://yzkb.51969.com/

文章目錄

變量的聲明基本類型數(shù)字定義比較大小

布爾字符字符串字符串模板數(shù)組定義訪問元素

類型轉(zhuǎn)換類型判斷

變量的聲明

在 Kotlin 中,使用val定義不可變變量,使用var定義可變變量,定義的格式如下:

[val|var] [變量名][: 變量類型] = [變量值]

變量名可以隨意取,但不能以數(shù)字開頭,也不能包含特殊字符,使用關(guān)鍵字時需要加反引號``(英文輸入法,在鍵盤左上角Esc下方的~鍵)。Kotlin 可以使用中文命名變量,但是非常不推薦這樣做,IDEA 也給出了警告。

fun main() {

val 你好Kotlin = "Hello Kotlin."

println(你好Kotlin)

}

Hello Kotlin.

這里定義一個String類型的名為name的可變變量,和一個Int類型的名為id的不可變變量:

fun main() {

// 定義 String 類型的可變變量,并賦值為 "A"

var name: String = "A"

// 將變量的值改為 "B"

name = "B"

// 定義 Int 類型的不可變變量,并賦值為 0

val id: Int = 0

// id = 1 這樣是錯誤的,val修飾的變量一旦賦值就不能更改

}

Kotlin 支持自動類型推斷,因此,在能夠推斷出類型的情況下,可以不用指定類型:

fun main() {

var name = "A"

// 在沒有賦值的情況下,無法推斷類型,所以得指出類型

val id: Int

id = 1

}

Kotlin 變量也可以聲明在main函數(shù)外部:

val id = 0

fun main() {

println(id)

}

0

基本類型

數(shù)字

定義

在數(shù)字類型中,包含有符號(負號)類型Byte、Short、Int、Long、Float、Double(類型間差異主要在于取值范圍,參考。如果給出的值超出范圍,IDEA 將直接標紅),和對應(yīng)的無符號類型UByte、UShort、UInt、ULong。

Float類型必須在數(shù)值末尾加F或f,Long類型則可以選擇性地在末尾加上L或l(由于小寫l與數(shù)字1長得太像,一般用大寫),所有的無符號類型必須加上U或u,ULong可以選擇性地在末尾加上L(不能是小寫)。

fun main() {

val byte: Byte = 1

val short: Short = 1

val int: Int = 1

val long: Long = 1

val float: Float = 1.0f

val double: Double = 1.0

val uByte: UByte = 1u

val uShort: UShort = 1u

val uInt: UInt = 1u

val uLong: ULong = 1u

}

當沒有特別指出類型時,整數(shù)一般會自動推斷為Int,而小數(shù)會是Double,數(shù)字末尾標記F或f會是Float,而U或u會是uInt。

fun main() {

val int = 1

val float = 1.0f

val double = 1.0

val uInt = 1u

}

Kotlin 支持在數(shù)字間加上下劃線_方便閱讀,下劃線可以加在隨意的數(shù)字之間的位置,但一般還是遵循常用的分割方式

fun main() {

val largeInt = 1_000_000_000

// 你可以隨意加

val int = 1_0

}

比較大小

可以使用>、<、==(不能用于不同類型)、>=、<=比較數(shù)字大?。?/p>

fun main() {

println(1 > 0f)

println(1 < 2L)

println(1 == 1)

println(1 >= 0f)

println(1 <= 2L)

}

true

true

true

true

true

布爾

布爾類型Boolean只有兩個值:true或false。

fun main() {

val booleanTrue: Boolean = true

val booleanFalse = false

}

多數(shù)時候,Boolean會和&&(與)、||(或)、!(非)一起使用。

&&可連接兩個Boolean,只有兩者都為true,整體的值才為true。當兩者都為true時,整體為true;當一個為true,一個為false時,整體為false;當兩者都為false時,整體為false。val TRUE = true

val FALSE = false

fun main() {

println(TRUE && TRUE) // true

println(TRUE && FALSE) // false

println(FALSE && FALSE) // false

}

true

false

false

||可連接兩個Boolean,只要有一個值為true,整體的值才為true。當兩者都為true時,整體為true;當一個為true,一個為false時,整體為true;當兩者都為false時,整體為false。val TRUE = true

val FALSE = false

fun main() {

println(TRUE || TRUE) // true

println(TRUE || FALSE) // true

println(FALSE || FALSE) // false

}

true

true

false

!放置于Boolean前,會使整體變?yōu)榱硪粋€值,!true整體為false,!false整體為false。val TRUE = true

val FALSE = false

fun main() {

println(!TRUE) // false

println(!FALSE) // true

}

false

true

字符

字符是指代表一個符號的內(nèi)容(不一定只有一個符號),使用單引號''修飾。

fun main() {

val char: Char = 'a'

}

單個反斜杠\作為轉(zhuǎn)義字符使用,和一些字符結(jié)合會成為單個字符,具體可參考:

反斜杠與t組成制表符:fun main() {

val tab = '\t'

print(tab)

print("Hello")

}

Hello

反斜杠與n組成換行符:fun main() {

val enter = '\n'

print(enter)

print("Hello")

}

Hello

單個反斜杠并不會表示反斜杠,需要用一對\\fun main() {

val char = '\\'

print(char)

}

\

在雙引號""中使用雙引號"字符會導致句意混亂,需要使用\輔助:fun main() {

val string: String = "\""

println(string)

}

"

字符串

字符串由一個或多個字符組成,用雙引號""或者""" """(多行)修飾。 當你輸入"""并回車后,trimIndent()函數(shù)會自動加上,它會去掉首尾("""所在的行)空行和縮進。

fun main() {

var string: String = "Hello Kotlin."

println(string)

string = """

Hello

Kotlin

""".trimIndent()

println(string)

}

Hello Kotlin.

Hello

Kotlin

字符串模板

在 Kotlin 中,可以很自然地使用+將字符串與字符串或其他類型拼接起來:

fun main() {

val hello = "Hello"

val name = "Kotlin"

println(hello + " " + name)

}

Hello Kotlin

我們也可以在字符串中使用美元符$實現(xiàn)拼接:

fun main() {

val hello = "Hello"

val name = "Kotlin"

println("$hello $name")

}

Hello Kotlin

為了將變量名與字符串區(qū)分開,必要時需要加上花括號{}

fun main() {

val dog = "dog"

println("${dog}s")

}

dogs

數(shù)組

定義

你可以使用arrayOf函數(shù)定義一個數(shù)組:

fun main() {

val array = arrayOf(1, 2)

print(array)

}

[Ljava.lang.Integer;@7291c18f

可以看到我們打印出了一個看不懂的東西,單看整體其實可以理解為該數(shù)組的唯一標識。通過查詢可以知道一個[表示這是一個一維數(shù)組,以此類推,L表名后面的java.lang.Interger是一個引用類型,而@后邊的是哈希碼。 如果要打印出數(shù)組中值,可以使用joinToString()函數(shù),它會將數(shù)組元素拼接為字符串:

fun main() {

val array = arrayOf(1, 2)

println(array.joinToString())

}

1, 2

Note:有些函數(shù)需要用.調(diào)用,例如數(shù)組的joinToString()這是定義在數(shù)組類中的函數(shù);而有些可以直接寫函數(shù)名,這是像main一樣的頂層函數(shù)(Top Level Function)。

你可以在數(shù)組中放任意的內(nèi)容:

fun main() {

arrayOf(1, 2, "3")

arrayOf( arrayOf(1, 2) , 3)

}

訪問元素

數(shù)組可以用方括號[]配合下標(Index)訪問指定的元素,數(shù)組中的元素下標從0開始依次遞增,當我們要獲取第一個元素的值時,我們需要使用0。

fun main() {

val array = arrayOf("你", "好")

println(array[0])

}

當下標超出數(shù)組元素下標范圍時,會引起異常java.lang.ArrayIndexOutOfBoundsException:

fun main() {

val array = arrayOf("你", "好")

println(array[2])

}

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 2 out of bounds for length 2

at ink.awning.MainKt.main(Main.kt:6)

at ink.awning.MainKt.main(Main.kt)

類型轉(zhuǎn)換

數(shù)字與String類型之間的轉(zhuǎn)換可以用toXXX()(XXX為要轉(zhuǎn)換的類型)來實現(xiàn),例如String轉(zhuǎn)為Int使用toInt():fun main() {

val string = "11"

val number = string.toInt()

// IDEA 會標紅,鼠標放在上面會提示

// Operator '==' cannot be applied to 'String' and 'Int'

println(string == 11) // 無法比較

// 此時可以正常比較

println(number == 11) // true

// 也可以寫在一行

println(string.toInt() == 11) // true

}

使用as關(guān)鍵字,一般是用于子父類之間或泛型的轉(zhuǎn)化,如果無法轉(zhuǎn)化會拋出異常。fun main() {

// 子父類,MutableList 繼承自 List

val mutableList = mutableListOf(1, 2)

val list = mutableList as List

println(list)

// 同為 List,泛型轉(zhuǎn)換為其他類型

val intList = listOf(1, 2, 3)

val stringList = intList as List

stringList.forEach { print(it); print(", ") }

}

Note:as關(guān)鍵字還可以用于導包時起別名:import ink.awning.ClassName as NewClassName。

類型判斷

可以使用is判斷某一變量是否為某一類型,!is則相反:

fun main() {

val string: Any = ""

println(string is String)

println(string !is Int)

}

Note:Any表示該變量可以為任意類型。

柚子快報激活碼778899分享:Kotlin 變量

http://yzkb.51969.com/

參考鏈接

評論可見,查看隱藏內(nèi)容

本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。

轉(zhuǎn)載請注明,如有侵權(quán),聯(lián)系刪除。

本文鏈接:http://gantiao.com.cn/post/19010342.html

發(fā)布評論

您暫未設(shè)置收款碼

請在主題配置——文章設(shè)置里上傳

掃描二維碼手機訪問

文章目錄