📜  Kotlin 标记为 continue

📅  最后修改于: 2022-05-13 01:55:21.008000             🧑  作者: Mango

Kotlin 标记为 continue

在本文中,我们将学习如何在 Kotlin 中使用continue 。在编程中使用循环时,有时希望跳过循环的当前迭代。在这种情况下,我们可以在程序中使用continue语句。基本上, continue用于针对特定条件重复循环。它跳过以下语句并继续循环的下一次迭代。
Kotlin 中有两种类型的继续 -
我们知道,未标记的 continue用于跳过最近的闭合循环的迭代,但标记的continue用于跳过所需闭合循环的迭代。它可以借助inner@、outer@等标签。我们只需要在表达式前面写一个标签并使用continue@abc调用它。
我们将学习如何在 while、do-while 和 for 循环中使用带标签的 continue。

在 while 循环中使用标记的 continue –

带标签的continue用于在满足特定条件时跳过所需块的迭代,而不检查 while 循环中的条件。如果您使用标签 outer@ 标记外循环,使用 inner@ 标记内循环,那么您可以在条件块中使用continue@outer轻松跳过特定条件。
在 while 循环中标记 continue 的语法 -

outer@ while(firstcondition) {
      // code
      inner@ while(secondcondition) {
            //code
            if(condition for continue) {
               continue@outer
            } 
      }
}

在 while 循环中使用标记 continue 的Kotlin 程序-

Kotlin
fun main(args: Array) {
 
    var num1 = 4
    outer@ while (num1 > 0) {
        num1--
        var num2 = 4
 
        inner@ while (num2 > 0) {
            if (num1 <= 2)
                continue@outer
            println("num1 = $num1, num2 = $num2")
            num2--
        }
    }
}


Kotlin
fun main(args: Array) {
 
    var num1 = 4
    outer@ do {
        num1--
        var num2 = 4
 
        inner@ do {
            if (num1 <= 2)
                continue@outer
            println("num1 = $num1; num2 = $num2")
            num2--
        } while (num2 > 0)
 
    } while (num1 > 0)
}


Kotlin
fun main(args: Array) {
    outer@ for (num1 in 4 downTo 1) {
 
        inner@ for (num2 in 4 downTo 1) {
            if (num1 <= 3)
                continue@outer
            println("num1 = $num1; num2 = $num2")
        }
    }
}


输出:

num1 = 3, num2 = 4
num1 = 3, num2 = 3
num1 = 3, num2 = 2
num1 = 3, num2 = 1

在 do-while 循环中使用标记的 continue

我们也可以在 do-while 循环中使用带标签的 continue 。在下面的程序中,我们使用了一个嵌套的 do-while 循环,并用 outer@ 标记了外循环,用 inner@ 标记了内循环。 continue 的条件在内部 do-while 循环中传递。如果条件为真,则continue@outer跳过以下语句或表达式并将控制权传递给外部 do-while 以进行重复。
do-while 循环中标记为 continue 的语法-

outer@ do {
       // code
       inner@ do {
           // code
           if(condition for continue) {
              continue@outer
           }
       } while(firstcondition)
} while(secondcondition)
 

科特林

fun main(args: Array) {
 
    var num1 = 4
    outer@ do {
        num1--
        var num2 = 4
 
        inner@ do {
            if (num1 <= 2)
                continue@outer
            println("num1 = $num1; num2 = $num2")
            num2--
        } while (num2 > 0)
 
    } while (num1 > 0)
}

输出:

num1 = 3; num2 = 4
num1 = 3; num2 = 3
num1 = 3; num2 = 2
num1 = 3; num2 = 1

在 for 循环中使用带标签的 continue –

我们也可以在 for 循环中使用带标签的continue 。在下面的程序中,我们使用了嵌套的 for 循环,并用 outer@ 标记了外循环,用 inner@ 标记了内循环。 continue 的条件在内部 for 循环中传递。如果条件为真,则它会跳过以下语句并将控制权传递给外部 for 循环以进行进一步迭代。
在 for 循环中标记 continue的语法 -

outer@ for(iteration through iterator) {
    // code
      inner@ for(iteration through iterator) {
           // code
          if(condition for continue) {
          continue@outer
          }
      }
}

在 for 循环中使用 continue 标记的 Kotlin 程序-

科特林

fun main(args: Array) {
    outer@ for (num1 in 4 downTo 1) {
 
        inner@ for (num2 in 4 downTo 1) {
            if (num1 <= 3)
                continue@outer
            println("num1 = $num1; num2 = $num2")
        }
    }
}

输出:

num1 = 4; num2 = 4
num1 = 4; num2 = 3
num1 = 4; num2 = 2
num1 = 4; num2 = 1