Saltar la navegación

5.1.- Sentencias break y continue.

Captura de pantalla con fragmento de código que utiliza la sentencia break
Pedro Fernández Arias (CC BY-NC)

Se trata de dos instrucciones que permiten modificar el comportamiento de otras estructuras o sentencias de control, simplemente por el hecho de estar incluidas en algún punto de su secuencia de instrucciones.

La sentencia break incidirá sobre las estructuras de control switch, while, for y do-while del siguiente modo:

  • Si aparece una sentencia break dentro de la secuencia de instrucciones de cualquiera de las estructuras mencionadas anteriormente, dicha estructura terminará inmediatamente.
  • Si aparece una sentencia break dentro de un bucle anidado sólo finalizará la sentencia de iteración más interna, el resto se ejecuta de forma normal.

Es decir, que break sirve para romper el flujo de control de un bucle, aunque no se haya cumplido la condición del bucle. Si colocamos un break dentro del código de un bucle, cuando se alcance el break, automáticamente se saldrá del bucle pasando a ejecutarse la siguiente instrucción inmediatamente después de él.

Captura de pantalla con fragmento de código que utiliza la sentencia continue
Pedro Fernández Arias (CC BY-NC)

En la siguiente imagen, puedes apreciar cómo se utilizaría la sentencia break dentro de un bucle for.

La sentencia continue incidirá sobre las sentencias o estructuras de control while, for y do-while del siguiente modo:

  • Si aparece una sentencia continue dentro de la secuencia de instrucciones de cualquiera de las sentencias anteriormente indicadas, dicha sentencia dará por terminada la iteración actual y se ejecuta una nueva iteración, evaluando de nuevo la expresión condicional del bucle.
  • Si aparece en el interior de un bucle anidado solo afectará a la sentencia de iteración más interna, el resto se ejecutaría de forma normal.

Es decir, la sentencia continue forzará a que se ejecute la siguiente iteración del bucle, sin tener en cuenta las instrucciones que pudiera haber después del continue, y hasta el final del código del bucle.

En la siguiente imagen, puedes apreciar cómo se utiliza la sentencia continue en un bucle for para imprimir por pantalla sólo los números pares.

Para clarificar algo más el funcionamiento de ambas sentencias de salto, te ofrecemos a continuación un diagrama representativo.

Dentro de un rombo verde se lee “Expresión != 0”, a su derecha un rectángulo rojo en el que se lee “falso” y del que parte una flecha hacia el final de la estructura. Bajo el rombo un rectángulo verde en el que pone “verdadero” y bajo él un rectángulo azul en el que se lee “secuencia”. Bajo la palabra “secuencia”, dos etiquetas “continue” y “break” de las que parten dos flechas, una otra vez hacia el rombo verde y otra hacia la flecha que representa el final de la estructura.
Pedro Fernández Arias (CC BY-NC)

Autoevaluación

Pregunta 1

La instrucción break puede utilizarse en las estructuras de control switch, while, for y do-while, no siendo imprescindible utilizarla en la cláusula default de la estructura switch. ¿Verdadero o Falso?