Curso de Introducción a Java SE

Curso de Introducción a Java SE

Anahí Salgado Díaz de la Vega

Anahí Salgado Díaz de la Vega

Break, Continue y Return

34/39

Lectura

Antes de pasar a uno de nuestros temas más importantes del curso es importante que sepas todas las opciones que tienes para detener ciclos y así seguir controlando el flujo de tus programas.

Break

En Java esta sentencia la verás en dos situaciones especificamente:

  1. En un Switch: en esta situación break hace que el flujo del switch no continúe ejecutándose a la siguiente comparación, esto con el objetivo de que solo se cumpla una sola condición:
switch (colorModeSelected){
	case "Light":
                System.out.println("Seleccionaste Light Mode");
                break;
        case "Night": //Ambar
                System.out.println("Seleccionaste Night Mode");
                break;
        case "Blue Dark":
                System.out.println("Seleccionaste Blue Dark Mode");
                break;
}
  1. Para salir de un bucle: Como acabamos de ver un break es capaz de detener el flujo en el código, en este caso detendremos el ciclo como tal terminándolo y haciendo que saltemos a la siguiente instrucción después del ciclo.

Continue

Continue en cierto modo también nos va a servir para detener un ciclo pero en lugar de terminarlo como en el caso de break, este volverá directo a la condición.

Return

Aunque en algunos lenguajes esta sentencia sirve como un tipo goto, dónde se rompe el flujo del programa la mejor forma de usarlo en Java es en Funciones, cuando lo usamos aquí siempre viene acompañado de un valor, el cuál indica el dato que se estará devolviendo en la función.

Aportes 64

Preguntas 2

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.

for (int i = 0; i < 10 ; i++){ if(i = 5){ break; // continue; } System.out.print(i); }
si utilizamos break, el programa imprimirá los numero de el 0 al 4
si utilizamos continue, el programa imprimirla los numero del 0 al 9, excepto el 5.

Notes

break; para el loop
continue; para la iteración
return val; regresa un dato (generalmente de una función)

Ejemplos

Break

for (byte i = 0; i<=10; i++) {
	if (i == 4) {
		break;
	}
	System.out.println("i: " + i);
}

Este for-i loop va a hacer que cuando i sea igual a 4, el loop se va romper.

output:

0
1
2
3

Continue

for (byte i = 0; i<=10; i++) {
	if (i == 4) {
		continue;
	}
  System.out.println("i = " + i);
}

Este for-i loop va a imprimir los numeros del 0-9, pero cuando llegue al 4 (i = 4), va a partir la iteración, por ende todo lo que esté después del continue; y dentro del scope del for-i loop, no va a ser ejecutado.

output

0
1
2
3
5
6
7
8
9

Como se pueden dar cuenta, falta el 4, y esto es gracias al continue :^)

Se me ocurre imprimir los números pares hasta un rango haciendo uso de un for e implantando la sentencia continue.

for (int i = 1; i <=10; i++) {
            
            if (i%2 !=0) {
                
                continue;
                
            }
            System.out.println(i+", es par");
            
        }
2, es par
4, es par
6, es par
8, es par
10, es par

GOTO es una instrucción propia de los primeros lenguajes de programación, como BASIC. Esta instrucción suele existir en todos los lenguajes aunque con un mnemónico adaptado al propio lenguaje.

El propósito de la instrucción es transferir el control a un punto determinado del código, donde debe continuar la ejecución. El punto al que se salta, viene indicado por una etiqueta. GOTO es una instrucción de salto incondicional.

para mas info:

https://es.wikipedia.org/wiki/GOTO#:~:text=GOTO es una instrucción propia,donde debe continuar la ejecución.

continue termina la iteracion actual
break termina el bucle

Un ejemplo de continue:
Si quiero ensenar del number 1 al 10, pero excluir el 5 podria utilizar continue adentro del for bucle cuando la condicion i == 5 sea verdadera:

        for(int i = 1; i <= 10; i++){

            if(i == 5){
                continue;
            }
            System.out.println(i);
        }

es la primera vez que escucho del continue O.O

El caso normal de uso de continue es cuando dentro de un bucle estamos haciendo muchas comprobaciones y en caso de que se cumpla alguna no hace falta seguir comprobando el resto pero no queremos meter unas comprobaciones anidadas dentro de otras para una mayor legibilidad.

La sentencia continue siempre tiene que estar dentro de un bucle porque si no producirá un error de compilación, en cualquier caso no tiene sentido ponerla fuera de un bucle.

(En resumen…)
.
Break, Continue y Return
.
Break: esta sentencia la verás en dos situaciones específicamente:
Switch: en aquí, break detiene el flujo de ejecución, logrando que se cumpla una sola condición.
Bucle: en aquí, break detiene el flujo, dándolo por terminado, y continuando las instrucciones fuera del ciclo.
.
Continue: detiene un ciclo y lo volverá a la condición.
.
Return: indica el dato que está devolviendo una función. En otros lenguajes funciona como goto.

A mí esto no me acaba de quedar claro, creo que deberían haberse explayado un poco más, en caso de que sea importante.

Break: Rompe la ejecucion del bucle.
Continue: Continua o pasa a la siguiente iteracion dentro del bucle

Repaso de términos 😃

Continue: en una iteración por ejemplo
12345…78910 rompe la secuencia pero continua con el flujo en este caso se salto el número 6

Continue lo he utilizado más en ciclos anidados, cuando el ciclo hijo quiero que termine y regrese al del padre

Continue lo que hace es cortar una iteración y pasar a la siguiente.

📌 Podemos usar continue, break o return para gestionar los ciclos dentro de nuestra aplicación.

excelente y muy clara explicación

Hay diferentes opciones que una pasa por alto. Gracias por la información

Es bueno siempre precisar los detalles!

Apunte: Si no colocas el break en cada case. El switch entrara en todos los cases a partir de donde se cumplió esa condición por primera vez … jejeje

Fácil de entender

GOTO es una instrucción propia de los primeros lenguajes de programación, como BASIC

Excelente aporte, lo tendré en cuenta cada vez que quiera forzar la detención de un ciclo.

gracias por los consejos.

Excelentes datos! Gracias

Excelente información.

Algún ejemplo de continue, porfa? je

perfect!, thanks…

Todo muy claro y bien explicado.

El break rompe el ciclo.
Mientras que el continue salta condición y continua…

perfecto

Gracias.

Interesante información, para los casos en que se tenga que terminar el bucle y también sobre la palabra recervada de return , excelente maestra

Claras las opciones del manejo de ciclos.

Pertinente para el uso de ciclos.

excelente información de apoyo.

Super!!

el Continue es muy interesante

Muy buen dato.

No me la sabia lo del Continue, gracias por el dato.

Excelentes datos de información, son vitales

Gracias 😃

Gracias por el aporte. Es de mucha utilidad todos estos terminos.

Excelente aclaración, gracias.

A mi aveces se me pasa poner break

Gracias!

Incluso existen lenguajes donde el return funciona como un break saliendose del ciclo y corriendo el codigo que esta despues del mismo.

Genial, es bueno tener en cuenta estos detalles.

Gracias por el aporte.

Gracias! quedo muy claro todo

CONTINUE, regresa a ver si se cumple nuevamente la condicion?

Muy claro, Perfecto a darle con todo!!

okey…!

espero ver su aplicacion. quedo muy claro la teoria

excelente

Todo muy claro. Gracias

Gracias por el dato.

more info and in english here

El switch solo trabaja con el operador =
puedo hacer esto, con el switch ?
switch (número){
case > 10:
System.out.println(“número > 10”);
break;
case <= 10:
System.out.println(“número <= 10”);
break;
default
System.out.println(“no debe ingresar”);
break;
}

Muchas gracias, excelente informacion

gracias

muy bueno

el continúe sigue con la funcionalidad pero break de detiene para ir a la validación nuevamente y el return termina el for y devuelve un datos mas usado en funciones

Continue salta a la siguiente sentencia.
Break salta a la condición nuevamente