Declaração de quebra rápida (com exemplos)

Neste artigo, você aprenderá a usar a instrução break para transferir o controle do programa.

Quando você está trabalhando com loops ou instruções condicionais, pode ser necessário pular algumas instruções dentro do loop ou encerrar o loop imediatamente sem verificar a expressão de teste

Nesses casos, as instruções break e continue são usadas. Você aprenderá sobre a declaração continue no próximo capítulo.

A instrução break interrompe a execução de um loop ou uma instrução switch. Em seguida, ele pula para a próxima instrução após o loop ou instrução switch.

A sintaxe de uma instrução break é:

 pausa

Como funciona a instrução break?

Exemplo 1: instrução de interrupção rápida em loop for

 for i in 1… 5 ( if i == 4 ( break ) print("i = (i)") ) print("The end") 

Quando você executa o programa, a saída será:

 i = 1 i = 2 i = 3 Fim 

No programa acima, a sequência que está sendo iterada varia de 1 a 5.

O valor de i é definido para o primeiro número no intervalo (1) e atualizado para o próximo número do intervalo em cada iteração.

O loop também contém uma instrução if com expressão i == 4. A expressão quando avaliada como verdadeira (na 4ª iteração) executa a breakinstrução e o loop for-in termina.

Em seguida, salta para fora do loop para imprimir o fim .

Exemplo 2: instrução de interrupção rápida em loop while

 var currentLevel:Int = 1, finalLevel:Int = 2 var isLifeAvailable = true while (isLifeAvailable) ( if currentLevel> finalLevel ( print("Game Completed. No level remaining") break ) //play game and go to next level currentLevel += 1 print("next level") ) print("outside of while loop") 

Quando você executa o programa, a saída será:

próximo nível próximo nível Jogo concluído. Nenhum nível restante fora do loop while

No programa acima, a expressão de teste do loop while é sempre true.

Quando o currentLevel é maior que o finalLevel, a breakinstrução dentro do bloco if é executada. O programa então interrompe (termina) o loop while e executa as instruções após o loop, ou seja print("outside of while loop")

Exemplo 3: instrução de quebra rápida com loops aninhados

 for j in 1… 2 ( for i in 1… 5 ( if i == 4 ( break ) print("i = (i)") ) print("j = (j)") ) 

Quando você executa o programa, a saída será:

 i = 1 i = 2 i = 3 j = 1 i = 1 i = 2 i = 3 j = 2 

No programa acima, a breakinstrução dentro de if i == 4apenas termina a execução do loop interno for i in 1… 5. No entanto, ele continua a execução do loop externo for j in 1… 2.

Mas e se você quiser breako loop externo for j in 1… 2também. Para isso, usamos instruções rotuladas em Swift.

Declaração rotulada com quebra

As instruções que possuem prefixos no formulário (rótulo: Instrução) são chamadas de instrução rotulada. O rótulo é um identificador que você pode consultar posteriormente nas instruções break ou continue. Para saber mais sobre declarações rotuladas, visite declaração rotulada Swift.

Como funciona a declaração rotulada com pausa?

Aqui, o rótulo é um identificador. Quando a breakinstrução é executada, ele termina os loops dentro do rótulo e o programa salta para a instrução imediatamente após a instrução rotulada.

Exemplo 4: declaração rotulada com quebra

 outerloop: for j in 1… 2( innerloop: for i in 1… 5 ( if i == 4 ( break outerloop ) print("i = (i)") ) print("j = (j)") ) 

Quando você executa o programa, a saída será:

 i = 1 i = 2 i = 3 

No programa acima, existem duas instruções rotuladas outerloop: for j in 1… 2e innerloop: for i in 1… 5.

Os nomes de rótulo outerloop e innerloop podem ser usados ​​com a breakinstrução.

A instrução break outerlooptermina os loops e termina o programa.

Se você estiver familiarizado com outra linguagem de programação como C, C ++, Java, etc, a breakinstrução é usada para encerrar a instrução switch. Mas no Wwift, a instrução switch termina sua execução assim que o primeiro caso de switch correspondente é concluído. Portanto, é opcional adicionar quebra na caixa do switch em Swift. Para saber mais, visite a declaração de switch Swift.

Artigos interessantes...