Quebra de Kotlin (com exemplos)

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, breakserá executado, o que encerrará o forloop.

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 == 5dentro ifé avaliada como truee breakexecutada. 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 whileloop é sempre true.

Aqui, o whileloop é executado até que o usuário insira 0. Quando o usuário insere 0, breaké executado o que termina o whileloop.

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 breakpode 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 breakcom um rótulo ( break@testneste 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 == 2expressã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, continuee return. Para aprender sobre continuee returnexpressão, visite:

  • Kotlin continue
  • Função Kotlin

Artigos interessantes...