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

首頁綜合 正文
目錄

柚子快報(bào)邀請(qǐng)碼778899分享:Kotlin 條件和循環(huán)

柚子快報(bào)邀請(qǐng)碼778899分享:Kotlin 條件和循環(huán)

http://yzkb.51969.com/

文章目錄

條件ifwhen

循環(huán)forwhilebreak 和 continue

條件

條件語句可以讓程序在滿足特定條件時(shí)執(zhí)行相應(yīng)語句。這個(gè)特定條件最終值是Boolean類型,當(dāng)它為true時(shí),會(huì)執(zhí)行相應(yīng)內(nèi)容。

if

if (條件) ...

if (條件) ... else

if (條件) ... else if ... else ...

下面是一個(gè)簡(jiǎn)單的例子

fun main() {

val int = 1

if (int > 0) {

print("int 大于 0")

}

}

int 大于 0

當(dāng) if語句后邊只跟了一個(gè)語句時(shí),可以省略花括號(hào){}

fun main() {

val int = 1

if (int > 0) print("int 大于零")

}

Note:省略花括號(hào){}時(shí),if/else只作用于其后邊的第一個(gè)語句

fun main() {

val int = 0

if (int > 0) print("只有在大于 0 時(shí)我才執(zhí)行"); print("無論何時(shí)我都執(zhí)行")

}

無論何時(shí)我都執(zhí)行

我們還可以添加else,你可以嘗試更改int的值,看看運(yùn)行結(jié)果:

fun main() {

val int = 0

if (int > 0) {

print("int 大于 0")

}else {

print("int 小于等于 0")

}

}

int 小于等于 0

如果有兩個(gè)以上的條件,還可以添加else if,可以加多個(gè):

fun main() {

val int = 1

// 不一定需要寫 else

if (int > 0) println("int > 0")

else if(int < 0) println("int < 0")

if (int > 0) println("int > 0")

else if(int == 0) println("int = 0")

else println("int < 0")

if (int > 1) print("int > 1")

else if (int > 0) print("0 < int <= 1")

else if (int == 0) print("int = 0")

else print("int < 0")

}

int > 0

int > 0

0 < int <= 1

if語句還可以用于賦值:

fun main() {

val int = 1

val msg = if (int > 0) "int > 0" else "int <= 0"

print(msg)

}

int > 0

當(dāng)包含多個(gè)語句時(shí),末尾的值將作為其值:

fun main() {

val int = 1

val result = if (int > 0) {

println("int > 0")

true

} else {

println("int <= 0")

false

}

print(result)

}

int > 0

true

when

when(變量) {

值1 -> ...

值2 -> ...

...

else -> ...

}

when {

條件1 -> ...

條件2 -> ...

...

else -> ...

}

同樣地,else語句不一定需要;當(dāng)分支的語句只有一句時(shí),花括號(hào){}也可以省略:

fun main() {

val name = "Kotlin"

var flag = false // 當(dāng) name 為 Kotlin 時(shí)改為 true

print("Hello ")

when(name) {

"Kotlin" -> {

println("Kotlin")

flag = true

}

"Java" -> println("Java")

else -> println("Unknown")

}

print(flag)

}

Hello Kotlin

true

fun main() {

val name = "ABC"

val canPrint = true

when {

name == "Kotlin" && canPrint ->

print("Hello Kotlin")

canPrint -> print("Unknown")

}

}

Unknown

when也可以用于賦值,此時(shí)else分支不可省略(除非分支涵蓋了可能的所有情況):

fun main() {

val isKotlin = true

val name = when(isKotlin) {

true -> "Kotlin"

else -> "others"

}

print(name)

}

Kotlin

fun main() {

val isKotlin = true

// isKotlin 只有兩個(gè)值,所以這里不需要 else

val name = when(isKotlin) {

true -> "Kotlin"

false -> "others"

}

print(name)

}

Kotlin

fun main() {

val isKotlin = true

val name = when {

isKotlin -> {

println("Hello Kotlin")

"Kotlin"

}

else -> "others"

}

print(name)

}

Hello Kotlin

Kotlin

循環(huán)

循環(huán)指是讓程序重復(fù)地做某件事。

for

for (元素名: 類型 in 變量) ...

因?yàn)轭愋屯茢嗟拇嬖冢覀儾恍枰@式指定類型

for (元素名: 類型 in 變量) ...

打印出String中的每一個(gè)字符:

fun main() {

val kotlin = "Kotlin"

for (char in kotlin) {

println(char)

}

}

K

o

t

l

i

n

打印出數(shù)組中的元素:

fun main() {

val array = arrayOf(3, 2, 1)

for (int in array) println(int)

}

3

2

1

Note:能夠使用for語法的變量(in后面的)都是具有一個(gè)標(biāo)記為operator的iterator(): Iterator函數(shù)(或者叫方法,在類中的叫法),這是數(shù)組的interator()

public class Array {

...

/**

* Creates an [Iterator] for iterating over the elements of the array.

*/

public operator fun iterator(): Iterator

}

使用withIndex()方法結(jié)合解構(gòu)可以遍歷下標(biāo)+元素值:

fun main() {

val array = arrayOf(3, 2, 1)

for ((index, int) in array.withIndex()) {

println("$index $int")

}

}

0 3

1 2

2 1

也可以使用forEach和forEachIndexed完成上述操作:

fun main() {

val array = arrayOf(3, 2, 1)

array.forEach {

println(it)

}

println()

array.forEachIndexed { index, int ->

println("$index $int")

}

}

3

2

1

0 3

1 2

2 1

可以使用Range表達(dá)式(Range Expression)生成指定范圍內(nèi)的數(shù)字(不支持浮點(diǎn)數(shù)Float、Double,除了Long,其他類型會(huì)轉(zhuǎn)為Int):

增序。使用..生成包含末尾值(左閉右閉)的范圍;使用..<(Kotlin v1.9.22及之前用的是until,現(xiàn)在也能用)生成不包含末尾值(左閉右開)的范圍。fun main() {

for (int in 0..2) println(int)

println()

for (int in 0..<2) println(int)

// for (int in 0 until 2) println(int)

}

0

1

2

0

1

倒序fun main() {

for (int in 2 downTo 0) println(int)

}

2

1

0

指定步長(zhǎng)fun main() {

for (int in 0..2 step 2) println(int)

println()

for (int in 2 downTo 0 step 2) println(int)

}

0

2

2

0

while

當(dāng)條件成立時(shí),while將執(zhí)行相應(yīng)內(nèi)容。

while(條件) ...

do ... while(條件)

fun main() {

var count = 0

while (count < 2) {

println("第 $count 次")

count++

}

}

第 0 次

第 1 次

Note:count++是自增1,相當(dāng)于count = count + 1,類似的還有count--(自減1)、++count、--count。下方是count++與++count的對(duì)比,在單獨(dú)寫出時(shí),它們的效果沒有區(qū)別。在訪問其值時(shí),count++會(huì)先給出當(dāng)前值,再加1;而++count會(huì)先加1,再返回值(count--和--count類似)。

fun main() {

var count = 0

println(count++)

println(count)

}

0

1

fun main() {

var count = 0

println(++count)

println(count)

}

1

1

fun main() {

var count = 0

do {

println("第 $count 次")

count++

} while (count < 2)

}

第 0 次

第 1 次

從結(jié)果來看,二者是相同的,但do-while會(huì)不管條件是否成立,先執(zhí)行一次,以下是對(duì)比:

fun main() {

var count = 2

while (count < 2) {

println("while 第 $count 次")

count++

}

count = 2

do {

println("do-while 第 $count 次")

count++

} while (count < 2)

}

do-while 第 2 次

break 和 continue

在循環(huán)中(for或while),可以使用break跳出循環(huán),使用continue跳過一次循環(huán):

當(dāng)count == 2時(shí),執(zhí)行了break,跳出了for循環(huán),來到了循環(huán)外。

fun main() {

for (count in 0 .. 4) {

if (count == 2) break

println(count)

}

print("循環(huán)外")

}

0

1

循環(huán)外

當(dāng)count == 2時(shí),跳過了count為2的那一次循環(huán),所以打印結(jié)果中沒有2。

fun main() {

for (count in 0 .. 4) {

if (count == 2) continue

println(count)

}

print("循環(huán)外")

}

0

1

3

4

循環(huán)外

柚子快報(bào)邀請(qǐng)碼778899分享:Kotlin 條件和循環(huán)

http://yzkb.51969.com/

精彩文章

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

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

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

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

發(fā)布評(píng)論

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

請(qǐng)?jiān)谥黝}配置——文章設(shè)置里上傳

掃描二維碼手機(jī)訪問

文章目錄