📜  Kotlin continue表达式

📅  最后修改于: 2020-10-05 14:52:56             🧑  作者: Mango

在本教程中,您将学习使用继续跳过循环的当前迭代。另外,您还将在本文中了解有关继续标签的信息。

 

假设您正在使用循环。有时希望跳过循环的当前迭代。

在这种情况下,请使用continue 。在continue构建跳过封闭循环的当前迭代中,并且该程序的控制跳转到循环体的端部。


如何继续工作?

它几乎总是与if … else构造一起使用。例如,

while (testExpression1) {

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

如果将testExpression2评估为true则将 continue执行continue并在该循环之后跳过while循环内的所有代码。

继续表达在Kotlin中如何工作?


示例:Kotlin继续

fun main(args: Array) {

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

运行该程序时,输出为:

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

i的值大于1且小于5时,将continue执行continue ,从而跳过执行

println("$i Not always printed.")

声明。

但是,声明

println("$i Always printed.")

在循环的每次迭代中执行,因为此语句存在于continue构造之前。


示例:仅计算正数之和

 

下面的程序计算用户输入的最多6个正数的总和。如果用户输入负数或零,则将其从计算中跳过。

访问Kotlin基本输入输出以了解有关如何从用户那里获取输入的更多信息。

fun main(args: Array) {

    var number: Int
    var sum = 0

    for (i in 1..6) {
        print("Enter an integer: ")
        number = readLine()!!.toInt()

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

运行该程序时,输出为:

Enter an integer: 4
Enter an integer: 5
Enter an integer: -50
Enter an integer: 10
Enter an integer: 0
Enter an integer: 12
sum = 31

Kotlin标签为继续

到目前为止,您所学到的是continue标签形式,它跳过了最近的封闭循环的当前迭代。通过使用continue标签,还可以使用continue跳过所需循环(可以是外部循环)的迭代。


如何标记继续工作?

如何标记继续工作?

Kotlin中的标签以标识符开头,后跟@

在这里, outerloop @是在外部while循环上标记的标签。现在,通过continue与标签( continue@outerloop在这种情况下),你可以跳过该次迭代的具体循环的代码的执行。


示例:标记为继续

fun main(args: Array) {

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

运行该程序时,输出为:

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

通常不建议使用带标签的continue因为这会使您的代码难以理解。如果你是在你必须使用标记的情况continue ,重构代码,并试图解决它以不同的方式,以使其更具可读性。


有3只结构跳表现在科特林: breakcontinuereturn 。要了解breakreturn表达式,请访问:

  • 科特林休息
  • Kotlin 函数