English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Neste tutorial, você aprenderá a usar break para terminar um loop. Além disso, você também aprenderá sobre o rótulo break.
Suponha que você esteja usando um loop. Às vezes, você deseja terminar o loop imediatamente sem verificar a expressão de teste.
Neste caso, pode-se usar break. Quando encontrar break, ele terminará o loop mais recente (sem verificar a expressão de teste). Isso é semelhante aA forma como o comando break funciona no Java.
é quase sempre usado comuso conjunto de if..else. Por exemplo,
for (...) { if (testExpression) { break } }
Se o if testExpression for avaliado como true, o break executará e terminará o loop for.
fun main(args: Array<String>) { for (i in 1..10) { if (i == 5) { break } println(i) } }
Quando o programa for executado, a saída será:
1 2 3 4
igual a5Quando o valor de i == 5Quando o valor dentro do if for true, será executado break. Isso terminará循环 for.
O programa a seguir calcula a soma dos números inseridos pelo usuário até que o usuário insira 0.
AcessoEstrutura básica de entrada e saída do Kotlinpara saber mais sobre como obter entrada do usuário.
fun main(args: Array<String>) { var som = 0 var número: Int while (true) { print("Insira um número:") número = readLine()!!.toInt() if (número == 0) break som += número } print("som = $som") }
Quando o programa for executado, a saída será:
Insira um número: 4 Insira um número: 12 Insira um número: 6 Insira um número: -9 Insira um número: 0 som = 13
No programa acima, a expressão de teste do loop while sempre é true.
Aqui, o loop while continua até que o usuário insira 0. Quando o usuário inserir 0, o break será executado, terminando o loop while.
Até agora, você aprendeu o break sem etiqueta, que termina o loop mais recente. O break pode ser usado de outra forma (com etiqueta) para terminar o loop necessário (pode ser um loop externo).
As etiquetas em Kotlin são definidas porIdentificadorcomeçando por, seguido de @.
Aqui, test@ está externoNo loop whileEtiquetas marcadas. Agora, usando break com etiqueta (no caso, break @test), é possível quebrar um loop específico.
fun main(args: Array<String>) { first@ para (i in 1..4) { second@ for (j in 1..2) { println("i = $i; j = $j") if (i == 2) break@first } } }
Quando o programa for executado, a saída será:
i = 1; j = 1 i = 1; j = 2 i = 2; j = 1
Aqui, quando i == 2Quando o resultado da expressão for true, executará break@first para terminar o loop marcado como first@.
Aqui estão algumas variantes do programa acima.
No programa a seguir, break termina o loop com a etiqueta @second.
fun main(args: Array<String>) { first@ para (i in 1..4) { second@ for (j in 1..2) { println("i = $i; j = $j") if (i == 2) break@second } } }
Quando o programa for executado, a saída será:
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
Atenção:Como o break é usado para encerrar o loop mais interno no programa, neste caso, não é necessário usar break com rótulo.
No Kotlin há3Expressões de saltos estruturais: break, continue e return.