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(鈥渘煤mero > 10鈥);
break;
case <= 10:
System.out.println(鈥渘煤mero <= 10鈥);
break;
default
System.out.println(鈥渘o 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