Neste tutorial, você aprenderá a usar break para encerrar um loop. Além disso, você também aprenderá sobre os rótulos de pausa.
Suponha que você esteja trabalhando com loops. Às vezes, é desejável encerrar o loop imediatamente, sem verificar a expressão de teste.
Nesse caso, break
é usado. Ele termina o loop envolvente mais próximo quando encontrado (sem verificar a expressão de teste). Isso é semelhante a como a instrução break funciona em Java.
Como funciona o intervalo?
Quase sempre é usado com a construção if … else. Por exemplo,
para (…) (if (testExpression) (break))
Se testExpression for avaliado como true
, break
será executado, o que encerrará o for
loop.
Exemplo: pausa de Kotlin
fun main(args: Array) ( for (i in 1… 10) ( if (i == 5) ( break ) println(i) ) )
Quando você executa o programa, a saída será:
1 2 3 4
Quando o valor de i é igual a 5, a expressão i == 5
dentro if
é avaliada como true
e break
executada. Isso termina o loop for.
Exemplo: Calcular soma até que o usuário insira 0
O programa abaixo calcula a soma dos números inseridos pelo usuário até que o usuário insira 0.
Visite Kotlin Basic Input Output para saber mais sobre como receber informações do usuário.
fun main(args: Array) ( var sum = 0 var number: Int while (true) ( print("Enter a number: ") number = readLine()!!.toInt() if (number == 0) break sum += number ) print("sum = $sum") )
Quando você executa o programa, 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 soma = 13
No programa acima, a expressão de teste do while
loop é sempre true
.
Aqui, o while
loop é executado até que o usuário insira 0. Quando o usuário insere 0, break
é executado o que termina o while
loop.
Kotlin Labeled break
O que você aprendeu até agora é a forma não rotulada de break
, que termina o loop envolvente mais próximo. Existe uma outra maneira que break
pode ser usada (forma rotulada) para terminar o loop desejado (pode ser um loop externo).
Como funciona o intervalo marcado?
O rótulo em Kotlin começa com um identificador, seguido por @
.
Aqui, test @ é um rótulo marcado no loop while externo. Agora, usando break
com um rótulo ( break@test
neste caso), você pode quebrar o loop específico.
Aqui está um exemplo:
fun main(args: Array) ( first@ for (i in 1… 4) ( second@ for (j in 1… 2) ( println("i = $i; j = $j") if (i == 2) break@first ) ) )
Quando você executa o programa, a saída será:
i = 1; j = 1 i = 1; j = 2 i = 2; j = 1
Aqui, quando a i == 2
expressão é avaliada como true
, break@first
é executado, o que termina o loop marcado com rótulo first@
.
Aqui está uma pequena variação do programa acima.
No programa abaixo, break termina o loop marcado com o rótulo @second.
fun main(args: Array) ( first@ for (i in 1… 4) ( second@ for (j in 1… 2) ( println("i = $i; j = $j") if (i == 2) break@second ) ) )
Quando você executa o programa, 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
Nota: Como, break
é usado para encerrar o loop mais interno neste programa, não é necessário usar break rotulado neste caso.
Existem 3 expressões salto estruturais em Kotlin: break
, continue
e return
. Para aprender sobre continue
e return
expressão, visite:
- Kotlin continue
- Função Kotlin