1. break
declaração
Vamos dar uma olhada em um exemplo da lição anterior:
Código | Explicação |
---|---|
|
O programa lerá uma linha do teclado, até que você digite "exit" . |
O programa lê as linhas do console até que a palavra exit
seja inserida. Se você inserir essa palavra, a isExit
variável se tornará true
, a condição do loop será , e o loop terminará."!isExit
false
Java tem uma break
instrução especial que permite simplificar essa lógica. Se uma break
instrução for executada dentro de um loop, o loop terminará imediatamente. O programa começará a executar a instrução que segue o loop. A declaração é muito breve:
break;
Veja como você pode usar a break
instrução para reescrever o exemplo que acabamos de discutir:
Código | Explicação |
---|---|
|
O programa lerá uma linha do teclado, até que você digite "exit" . |
2. continue declaração
Mas break
não é a única instrução Java que permite controlar o comportamento de um loop. Java também tem a continue
declaração. Se você executar uma continue
instrução dentro de um loop, a iteração atual do loop terminará antes do previsto.
Executar o corpo do loop uma vez é chamado de iteração do loop. A continue
instrução interrompe a iteração atual do loop, mas, ao contrário da break
instrução, ela não encerra o próprio loop. A declaração também é breve:
continue;
A continue
instrução é super conveniente em um loop se quisermos 'pular' a execução do corpo do loop em determinadas situações.
Tarefa: Queremos escrever um programa que imprima números de 1
a 20
, mas pule números divisíveis por 7
. Isto é o que este código pode parecer.
Código | Explicação |
---|---|
|
O programa exibe números de 1 a 20 . Se o número for divisível por 7 (o restante da divisão por 7 é 0 ), pulamos a exibição do número. |
Na verdade, este código não funcionará , pois i
ficará para sempre preso no número 7
. Afinal, a continue
instrução pula duas outras instruções: System.out.println(i)
e i++
. Como resultado, assim que atingirmos o valor 7
, a variável i
parará de mudar e estaremos em um loop infinito.
Escrevemos o código dessa maneira de propósito para ilustrar esse erro muito comum. Como podemos consertar isso?
Existem duas opções aqui:
Opção 1: mude i
antes de executar continue
, mas depoisi % 7
Opção 2: sempre incrementar i
no início do loop. Mas então i
o valor inicial deve ser 0
.
Opção 1 | opção 2 |
---|---|
|
|
GO TO FULL VERSION