Recomendado, 2024

Escolha Do Editor

Diferença entre break e continue

Tanto “break” quanto “continue” são as declarações 'jump', que transferem o controle do programa para outra parte do programa. C ++ suporta quatro instruções de salto, ou seja, 'return', 'goto', 'break' e 'continue'. Java suporta três instruções de salto 'break' 'continue' e 'return'. A principal diferença entre break e continue é que break é usado para finalização imediata do loop, enquanto, continua a terminar a iteração atual e retoma o controle para a próxima iteração do loop. Vamos estudar a diferença entre quebrar e continuar no contexto de C ++ e Java.

Gráfico de comparação:

Base para Comparaçãopausacontinuar
Tarefa
Ele finaliza a execução da iteração restante do loop.Ele termina apenas a iteração atual do loop.
Controle após pausa / continuar'break' retoma o controle do programa até o final do loop, incluindo 'break'.'continue' retoma o controle do programa para a próxima iteração desse loop, incluindo 'continue'.
CausasIsso causa a finalização antecipada do loop.Isso causa a execução antecipada da próxima iteração.
Continuação'break' interrompe a continuação do loop.'continuar' não pára a continuação do loop, ele só pára a iteração atual.
Outros usos'break' pode ser usado com 'switch', 'label'.'continue' não pode ser executado com 'switch' e 'labels'.

Definição de Pausa

Em C ++, break tem apenas dois usos, isto é, primeiro é usado para “terminar a execução de um caso na instrução switch”. Segundo, para “terminar o loop e retomar o controle para a próxima instrução após o loop”. Mas no Java break tem três usos primeiro, ele encerra o caso no switch, segundo para finalizar o loop que encerra a quebra e terceiro, como mencionado anteriormente, que Java não fornece uma instrução 'goto', mas a quebra de formulário estendida pode ser usada em lugar de 'goto'.

Vamos ver, cada uso de 'quebrar' em detalhes.

Primeiro uso para terminar a execução do caso no switch. A quebra no switch afeta apenas o switch que o contém, isso não afeta o loop que envolve o switch.

 // No contexto do C ++. // usando break no switch no contexto de C ++. switch (expressão inteira) {case 1: ..... ..... break; caso 2: ..... ..... pausa; caso 3: ..... ..... pausa; padrão: ....... ....... } 

Segundo uso, para forçar o término do loop e continuar na próxima instrução do loop. Assim que a instrução break é encontrada dentro do loop, esse loop é imediatamente terminado sem executar o código restante no corpo desse loop e o controle do programa chega à próxima instrução gravada após esse loop.

 // usando break para sair do loop no contexto da classe Java main_class {public static void main (string args []) {para (int i = 0; i <100; i ++) {system.out.println ("i:" + i); se (i == 10) quebrar; // como a condição dentro de 'if' o controle satistfies sai do loop 'for'. } system.out.println ("Loop quebra aqui"); }} 

break only deixa o programa sair do loop que o contém. Se a quebra for usada com loop aninhado, ela romperá apenas o loop mais interno e não afetará o loop externo.

O terceiro uso, usando o intervalo como a forma de goto. Java usa break como forma de goto sem o seu problema. Como goto fornece uma ramificação não estruturada que é difícil de entender e também goto proíbe a otimização do compilador, Java usa uma forma expandida de quebra que é semelhante a goto e ajuda a sair mais de um bloco de cada vez e retomar o controle do programa para o final do bloco rotulado, mencionado com a instrução break.

Declaração:

 quebrar rótulo; 

Aqui, "rótulo" é o nome de um determinado bloco de código ou um identificador em Java, e esse bloco rotulado deve incluir a instrução break. A instrução de quebra rotulada é usada para sair do conjunto de loop aninhado. À medida que a instrução break rotulada é encontrada, o controle sai do bloco rotulado que é mencionado com a instrução break.
Vamos ver isso praticamente.

 // usando break como forma de ir em contexto para a classe Java main_class {public static void main (string args []) {booleano t = true; primeiro {second {third {system.out.println ("este terceiro bloco"); se (t) quebra primeiro; } system.out.println ("este segundo bloco"); } system.out.println ("este primeiro bloco"); } system.out.println ("este bloco principal"); }} // output: este é o terceiro bloco este é o bloco principal 

Neste código, à medida que o controle atinge o terceiro bloco, sua instrução print é executada e, depois disso, o controle retorna à instrução 'if' e, conforme é satisfeito, a instrução break com o rótulo é executada. Rótulo anexado com quebra é o primeiro, então controle retomar a declaração escrita após o final do primeiro bloco ou seja, no bloco principal, que é uma declaração de impressão e que é executado.

Definição de Continue

Como break termina a iteração restante do loop e deixa o controle sair do loop, aqui, continue funciona um pouco como um intervalo. A instrução continue interrompe a execução do código restante no loop para essa iteração atual e retoma o controle para a próxima iteração desse loop. A instrução continue ignora o código da iteração atual e passa o controle para a próxima iteração do loop.

Vamos entender isso com um exemplo.

 // usando continue no contexto para C ++. // imprime o número par até 100. class main_class {public static void main (string args []) {para (int i = 0; i <100; i ++) {se (i% 2! = 0) continuar; // continue retomando o controle para a próxima iteração em loop system.out.println ("i:" + i); }}} 

No programa acima, se a instrução 'if' for satisfeita, então a instrução continue é executada, o que não permite que a instrução print a seguir execute e retome o controle para a próxima iteração do loop 'for'. Se i = 1, a condição 'if' é satisfeita e continue executada, sem executar a instrução print para o valor ímpar de 'i' e, o controle retoma a próxima iteração do loop 'para i = 2'. Se i = 2 então a declaração 'if' não é satisfeita; continue não executa e imprime declaração imprime o valor de 'i' que é par.

Principais diferenças entre interromper e continuar

  1. Basicamente, a palavra-chave break termina o restante das iterações restantes do loop. Por outro lado, a palavra-chave continue termina apenas a iteração atual do loop.
  2. Quando a palavra-chave break é executada, o controle do programa sai do loop e continua para a próxima instrução após o loop. No caso de continuar a palavra-chave, o controle do programa é retomado para a próxima iteração do loop.
  3. Como etapa acima conclui, que após a execução do controle de quebra da saída do programa fora do loop, é claramente entendido que a ruptura provoca a rescisão antecipada de qualquer loop. Por outro lado, continue apenas terminar a iteração atual e retomar a próxima iteração do loop, então podemos dizer que continue causa a execução antecipada da próxima iteração do loop.
  4. A palavra-chave break termina toda a iteração restante após sua execução, portanto, podemos dizer que ela interrompe a continuação do loop, enquanto a palavra-chave continue continua a execução do loop.
  5. A palavra-chave break pode ser usada junto com as declarações "switch", bem como "label", enquanto que a palavra-chave continue não pode ser usada com "switch" e "label".

Conclusão:

A instrução break e continue é a instrução de salto que transfere o controle para outra parte do programa. Onde break statement deixa o controle sair do loop, a instrução continue deixa o controle para a próxima iteração desse loop.

Top