Gráfica comparativa:
Bases para la comparación | descanso | continuar |
---|---|---|
Tarea | Termina la ejecución de la iteración restante del bucle. | Termina solo la iteración actual del bucle. |
Control después de la pausa / continuar | 'break' reanuda el control del programa hasta el final del bucle que contiene ese 'break'. | 'continue' reanuda el control del programa a la siguiente iteración del bucle que encierra 'continue'. |
Causas | Causa la terminación temprana del bucle. | Causa la ejecución temprana de la siguiente iteración. |
Continuación | 'break' detiene la continuación del bucle. | 'continuar' no detiene la continuación del bucle, solo detiene la iteración actual. |
Otros usos | 'break' se puede usar con 'switch', 'label'. | 'continue' no puede ejecutarse con 'switch' y 'labels'. |
Definición de Break
En C ++, la interrupción tiene solo dos usos, es decir, primero se usa para "terminar la ejecución de un caso en una sentencia de cambio". En segundo lugar, para "terminar el bucle y reanudar el control a la siguiente declaración después del bucle". Pero en Java break tiene tres usos primero, termina el caso en el conmutador, segundo para terminar el bucle que contiene break y tercero, como se mencionó anteriormente, Java no proporciona una declaración 'goto', pero el salto de forma extendido se puede usar en lugar de 'goto'.
Veamos, cada uso de 'romper' en detalle.
Primer uso para terminar la ejecución de caso en switch. El interruptor de interrupción solo afecta al interruptor que lo encierra, no afecta al bucle que encierra el interruptor.
// En contexto a C ++. // usando break in switch en el contexto de C ++. switch (expresión entera) {caso 1: ..... ..... ruptura; caso 2: ..... ..... descanso; caso 3: ..... ..... descanso; defecto: ....... ....... }
Segundo uso, para terminar por la fuerza el bucle y reanudarlo en la próxima declaración del bucle. Tan pronto como se encuentra la instrucción break dentro del bucle, ese bucle termina inmediatamente sin ejecutar el código restante en el cuerpo de ese bucle y el control del programa llega a la siguiente sentencia escrita después de ese bucle.
// usando break para salir del bucle en contexto a la clase main_class de Java {public static void main (string args []) {for (int i = 0; i <100; i ++) {system.out.println ("i:" + i); si (i == 10) se rompe; // como la condición dentro de 'if' satistfies control sale de 'for' loop. } system.out.println ("Loop se rompe aquí"); }}
romper solo permite que el programa salga del bucle que lo encierra. Si la ruptura se usa con un bucle anidado, solo rompe el bucle más interno y no afecta al bucle externo.
El tercer uso, usando la ruptura como la forma de goto. Java usa break como forma de goto sin su problema. Como goto proporciona una bifurcación no estructurada que es difícil de entender y también prohíbe la optimización del compilador, Java utiliza una forma expandida de ruptura que es similar a goto y ayuda a salir de más de un bloque a la vez y reanuda el control del programa hasta el Fin del bloque etiquetado, mencionado con la instrucción break.
Declaración:
etiqueta de rotura;
Aquí, "etiqueta" es el nombre de un determinado bloque de código o un identificador en Java, y este bloque etiquetado debe incluir la instrucción break. La declaración de interrupción etiquetada se utiliza para salir del conjunto de bucle anidado. A medida que se encuentra la instrucción de interrupción etiquetada, el control sale del bloque etiquetado que se menciona con la instrucción de interrupción.
Vamos a verlo prácticamente.
// usando break como forma de goto en contexto para la clase Java main_class {public static void main (string args []) {boolean t = true; primero {segundo {tercero {system.out.println ("este tercer bloque"); si (t) rompe primero; } system.out.println ("este segundo bloque"); } system.out.println ("este primer bloque"); } system.out.println ("este bloque principal"); }} // salida: este es el tercer bloque este es el bloque principal
En este código, cuando el control llega al tercer bloque, su instrucción de impresión se ejecuta y, a continuación, el control continúa en la instrucción "if" y, cuando se cumple, se ejecuta la instrucción break con la etiqueta. La etiqueta adjunta con ruptura es la primera, por lo que el control continúa con la instrucción escrita después del final del bloque primero, es decir, en el bloque principal, que es una instrucción de impresión y que se ejecuta.
Definición de Continuar
A medida que la interrupción termina la iteración restante del bucle y deja que el control salga del bucle, aquí, continuar funciona de alguna manera funciona como una interrupción. La instrucción continue detiene la ejecución del código restante en el bucle para esa iteración actual y reanuda el control a la siguiente iteración de ese ciclo. La instrucción continue omite el código de la iteración actual y pasa el control a la siguiente iteración del ciclo.
Vamos a entenderlo con un ejemplo.
// usando continue in context to C ++. // imprime el número par hasta 100. class main_class {public static void main (string args []) {for (int i = 0; i <100; i ++) {if (i% 2! = 0) continue; // continuar reanudando el control a la siguiente iteración para el bucle system.out.println ("i:" + i); }}}
En el programa anterior, si se cumple la instrucción 'if', entonces se ejecuta continue de la instrucción, lo que no permite que se ejecute la siguiente instrucción de impresión y reanude el control a la siguiente iteración del ciclo 'for'. Si i = 1, la condición 'if' se cumple y se ejecuta continuar, sin ejecutar la declaración de impresión para el valor impar de 'i' y, el control continúa hasta la siguiente iteración del bucle 'para i = 2'. Si i = 2 entonces la declaración 'if' no se satisface por lo tanto; continuar no se ejecuta e imprimir la declaración imprime el valor de 'i' que es par.
Diferencias clave entre romper y continuar
- Básicamente, la palabra clave break termina el resto de las iteraciones restantes del bucle. Por otro lado, la palabra clave continue termina solo la iteración actual del bucle.
- Una vez que se ejecuta la palabra clave break, el control del programa sale del bucle y continúa hasta la siguiente instrucción después del bucle. En caso de continuar la palabra clave, el control del programa continúa en la siguiente iteración del bucle.
- Como concluye el paso anterior, después de la ejecución del control de interrupción de la salida del programa fuera del bucle, se entiende claramente que la interrupción causa la terminación temprana de cualquier bucle. Por otro lado, continuar solo termina la iteración actual y continuar con la siguiente iteración del bucle, entonces podemos decir que continuar causa la ejecución temprana de la siguiente iteración del bucle.
- La palabra clave break termina toda la iteración restante después de su ejecución, por lo que podemos decir que detiene la continuación del bucle, mientras que la palabra clave continue continúa con la ejecución del bucle.
- La palabra clave break se puede usar junto con las declaraciones de "cambio", así como también "label", mientras que la palabra clave continue no se puede usar con "switch" y "label".
Conclusión:
La instrucción break y continue son la instrucción jump que transfiere el control a otra parte del programa. Cuando la instrucción break deja que el control salga del bucle, la instrucción continue permite que el control pase a la siguiente iteración de ese bucle.