Kotlin break 表達(dá)式

在本教程中,您將學(xué)習(xí)使用break終止循環(huán)。此外,您還將了解 break 標(biāo)簽。

假設(shè)您正在使用循環(huán)。有時希望不檢查測試表達(dá)式就立即終止循環(huán)。

在這種情況下,可以使用break。遇到break時,它將終止最近的封閉循環(huán)(無需檢查測試表達(dá)式)。這類似于在Java中的break語句工作方式。

break 如何工作?

它幾乎總是與if..else 一起使用。例如,

for (...) {
    if (testExpression) {
        break
    }
}

如果將if testExpression評估為true,break則執(zhí)行終止for循環(huán)。

Kotlin break

示例:Kotlin break

fun main(args: Array<String>) {

    for (i in 1..10) {
        if (i == 5) {
            break
        }
        println(i)
    }
}

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

1
2
3
4

當(dāng)?shù)闹礽等于5時,表達(dá)式 i == 5時,if內(nèi)部的值將計算為true,然后執(zhí)行break。這將終止for循環(huán)

示例:計算總和,直到用戶輸入0

下面的程序計算用戶輸入的數(shù)字總和,直到用戶輸入0。

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

fun main(args: Array<String>) {

    var sum = 0
    var number: Int

    while (true) {
        print("輸入一個數(shù)字: ")
        number = readLine()!!.toInt()

        if (number == 0)
            break

        sum += number
    }

    print("sum = $sum")
}

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

輸入一個數(shù)字: 4
輸入一個數(shù)字: 12
輸入一個數(shù)字: 6
輸入一個數(shù)字: -9
輸入一個數(shù)字: 0
sum = 13

在上述程序中,while循環(huán)的測試表達(dá)式始終為true。

在這里,while循環(huán)運(yùn)行直到用戶輸入0。當(dāng)用戶輸入0時,break將執(zhí)行,從而終止while循環(huán)。

Kotlin  break 標(biāo)簽

到目前為止,您所學(xué)到的是的無標(biāo)簽形式break,它終止了最近的封閉循環(huán)。break可以使用另一種方式(標(biāo)記形式)終止所需的循環(huán)(可以是外部循環(huán))。

break 標(biāo)簽 如何工作?

Kotlin標(biāo)記的 break

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

在此,test@是在外部while循環(huán)中標(biāo)記的標(biāo)簽?,F(xiàn)在,通過使用帶有標(biāo)簽的break(在這種情況下為break @test),可以打破特定的循環(huán)。

這是一個實例:

fun main(args: Array<String>) {

    first@ for (i in 1..4) {

        second@ for (j in 1..2) {
            println("i = $i; j = $j")

            if (i == 2)
                break@first
        }
    }
}

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

i = 1; j = 1
i = 1; j = 2
i = 2; j = 1

在這里,當(dāng)i == 2表達(dá)式的計算結(jié)果為true時,將執(zhí)行break@first來終止標(biāo)記為first@的循環(huán)。

這是上述程序的一些變體。

在下面的程序中,break終止帶有標(biāo)簽標(biāo)記 @second 的循環(huán)。

fun main(args: Array<String>) {

    first@ for (i in 1..4) {

        second@ for (j in 1..2) {
            println("i = $i; j = $j")

            if (i == 2)
                break@second
        }
    }
}

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

i = 1; j = 1
i = 1; j = 2
i = 2; j = 1
i = 3; j = 1
i = 3; j = 2
i = 4; j = 1
i = 4; j = 2

注意:由于break在程序中用于終止最里面的循環(huán),因此在這種情況下不必使用帶標(biāo)簽的 break 。

Kotlin中有3種結(jié)構(gòu)性跳躍表達(dá):break,continue和return。                                                                                                           

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