Kotlin continue 表達(dá)式

在本教程中,您將學(xué)習(xí)使用 continue 跳過循環(huán)的當(dāng)前迭代。另外,您還將在本文中了解有關(guān) continue 標(biāo)簽的信息。

假設(shè)您正在使用循環(huán)。有時(shí)希望跳過循環(huán)的當(dāng)前迭代。

在這種情況下,使用continue。continue構(gòu)造跳過封閉循環(huán)的當(dāng)前迭代,程序的控制跳到循環(huán)體的末尾。

continue 如何工作?

它幾乎總是與if ... else 構(gòu)造一起使用。例如,

while (testExpression1) {

    // codes1
    if (testExpression2) {
        continue
    }
    // codes2
}

如果將的testExpression2值評估為true,則會(huì)執(zhí)行 continue 命令,從而跳過 while 循環(huán)后該循環(huán)內(nèi)的所有代碼。

 continue 表達(dá)在Kotlin中如何工作?

示例:Kotlin continue

fun main(args: Array<String>) {

    for (i in 1..5) {
        println("$i Always printed.")
        if (i > 1 && i < 5) {
            continue
        }
        println("$i Not always printed.")
    }
}

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

1 Always printed.
1 Not always printed.
2 Always printed.
3 Always printed.
4 Always printed.
5 Always printed.
5 Not always printed.

當(dāng)i的值大于1且小于5時(shí),將繼續(xù)執(zhí)行continue,從而跳過執(zhí)行

println("$i Not always printed.")

聲明。

但是,聲明:

println("$i Always printed.")

在循環(huán)的每次迭代中執(zhí)行,因?yàn)榇苏Z句存在于continue構(gòu)造之前。

示例:僅計(jì)算正數(shù)之和

下面的程序計(jì)算用戶輸入的最多6個(gè)正數(shù)的總和。如果用戶輸入負(fù)數(shù)或零,則將其從計(jì)算中跳過。

訪問Kotlin基本輸入輸出以了解有關(guān)如何從用戶那里獲取輸入的更多信息。

fun main(args: Array<String>) {

    var number: Int
    var sum = 0

    for (i in 1..6) {
        print("輸入整數(shù): ")
        number = readLine()!!.toInt()

        if (number <= 0)
            continue
        
        sum += number
    }
    println("sum = $sum")
}

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

輸入整數(shù): 4
輸入整數(shù): 5
輸入整數(shù): -50
輸入整數(shù): 10
輸入整數(shù): 0
輸入整數(shù): 12
sum = 31

Kotlin  continue 標(biāo)簽

到目前為止,您所學(xué)到的是的無標(biāo)簽形式continue,它跳過了最近的封閉循環(huán)的當(dāng)前迭代。continue也可以通過使用continue標(biāo)簽來跳過所需循環(huán)(可以是外部循環(huán))的迭代。

如何標(biāo)記 continue 工作?

如何標(biāo)記 continue 工作?

Kotlin中的標(biāo)簽以標(biāo)識(shí)符開頭,后跟@。

在這里,outerloop@是在while循環(huán)的外部標(biāo)記的標(biāo)簽?,F(xiàn)在,通過使用continue標(biāo)簽(continue@outerloop),您可以跳過該迭代的特定循環(huán)代碼的執(zhí)行。

示例:continue @標(biāo)簽

fun main(args: Array<String>) {

    here@ for (i in 1..5) {
        for (j in 1..4) {
            if (i == 3 || j == 2)
                continue@here
            println("i = $i; j = $j")
        }
    }
}

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

i = 1; j = 1
i = 2; j = 1
i = 4; j = 1
i = 5; j = 1

通常不建議使用帶標(biāo)簽的continue,因?yàn)檫@會(huì)使您的代碼難以理解。 如果您必須使用標(biāo)記為continue的情況,請重構(gòu)代碼并嘗試以其他方式解決它,以使其更具可讀性。

Kotlin中有3個(gè)結(jié)構(gòu)跳轉(zhuǎn)表達(dá)式:break、continue和return。

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