descanso
1 bucle exterior de rotura de bucle doble
loopOne@ for (i in 1..10) {
println("i ${i}")
for (j in 1..10) {
if (i == 2 && j == 8) break@loopOne
print("j ${j} ")
}
println()
}
El registro de salida es el siguiente:
2 bucle interno de rotura de bucle doble
for (i in 1..10) {
println("i ${i}")
loopTwo@ for (j in 1..10) {
if (i == 2 && j == 8) break@loopTwo
print("j ${j} ")
}
println()
}
El registro de salida es el siguiente:
Se puede ver en el registro que cuando solo i == 2 && j == 8, el bucle de j se interrumpe por ruptura, y luego i == 3 y continuará el bucle después
Seguir
for (i in 1..10) {
println("i ${i}")
for (j in 1..10) {
if (i == 2 && j == 8) continue
print("j ${j} ")
}
println()
}
El registro de salida es el siguiente:
Se puede ver en el registro que en este caso solo i == 2 && j == 8, solo se detiene esta vez, pero continuará el ciclo posterior
para resumir:
1 interrupción interrumpe todos los ciclos posteriores del bucle especificado
2 continuar Interrumpe el funcionamiento actual del bucle que cumple la condición y continúa después de esta interrupción
3 Se ejecutará el código anterior al descanso / continuación que cumpla las condiciones, pero el código posterior no se ejecutará, de la siguiente manera:
for (i in 1..100){
//代码位置1
if (i == 6) break/continue
//代码位置2
}
Se ejecutará la posición de código 1 ; la posición de código 2 no se ejecutará;