5. Interrupções nos laços (break e continue)
As linguagens de programação dispõem de dois comandos especiais para serem utilizados nas estruturas de repetição. São eles: break e continue. O break sai do laço de repetição, enquanto que o continue retorna ao início do laço.
Estes comandos nos auxiliam no controle de execução dos comandos do loop. Observe a partir da ilustração da figura 4.7, o que ocorre no laço de repetição no momento em que os comandos continue e break são executados
imagem
Os comandos break e continue podem ser utilizados nas três estruturas de repetição disponíveis: for, while ou do… while. Caso o comando continue seja
executado em um laço for, o incremento ou decremento da variável de controle ocorre normalmente, como se o laço tivesse sido executado até o seu final.
O Exemplo 4.4 também utiliza os métodos prompt() e alert(), agora para demonstrar o funcionamento dos comandos break e continue. O programa realiza a leitura de um número e, caso o número for par ele exibe o dobro do número e se for ímpar, o triplo. A leitura continua até que o usuário informe 0 (ou algum valor inválido). Inicialmente, uma mensagem alertando sobre a execução do programa é apresentada.
Exemplo 4.4 – Uso dos comandos break e continue em um laço de repetição (ex4_4.html)
<script> alert("Digite 0 para sair"); // início da repetição do { var num = Number(prompt("Número: ")); if (num == 0 11 isNaN(num)) { var sair = confirm( "Confirma saída?"); // solicita confirmação do usuário if (sair) { break; // sai da repetição } else { continue; // volta ao inicio do laço } } // se par, mostra o dobro; impar, mostra o triplo if (num % 2 == 0) { alert("0 dobro de " + num + " é: " + num * 2); } else { alert("0 triplo de " + num + " é: " + num * 3); } } while (true); // // enquanto verdade (só sai do laço, pelo break) alert("Bye, bye..."); </script>
Repare que um novo método foi utilizado para solicitar a confirmação de saída do programa. Trata-se do método confirm(), que exibe uma caixa de diálogo com os botões Ok e Cancelar. Ele retorna true (ok) ou false (cancelar) de acordo com a escolha do usuário. A Figura 4.8 ilustra a saída do método confirm().
imagem
Caso o usuário confirme a saída do programa, o comando break é executado e o método alert(“Bye, bye…”), após o laço de repetição, é chamado. Contudo, caso o usuário não confirme a saída, o comando continue retorna ao início do laço e uma nova leitura é realizada pelo método prompt().
A condição inserida no comando while() foi substituída pelo valor true. Isso significa que a repetição não sairá pela análise da condição. A única forma de saída desse laço, portanto, é pela execução do comando break.