No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Curso de Dart

Curso de Dart

Argel Franco Bejarano de la Cruz

Argel Franco Bejarano de la Cruz

Break y Continue

16/29
Recursos

Break
Se utiliza break para detener el trabajo del ciclo actual.

Continue
Con este se detiene el trabajo pero únicamente del bloque de código que continúe inmediatamente después pero el ciclo continuará trabajando.

Etiquetas
Lo que hacen estas es continuar la ejecución de tu código desde un punto definido utilizando por una etiqueta.

Aportes 26

Preguntas 2

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

RESUMEN DE LA CLASE

Break: rompe un ciclo por completo. Ejemplo:

for(int i=0; i<=3; i++){
	print(i);
	if(i==2) break;
}

//Salida

0
1
2

Continue: se detiene el trabajo para el código después de esta sentencia, pero el ciclo se sigue ejecutando. Ejemplo:

for(int i=0; i<=3; i++){
	if(i==2) continue;
	print (i);

}

//Salida

0
1
3

Etiquetas: continúa la ejecución del programa desde un punto definido. Ejemplo:

for(int i=0; i<=3; i++){
	if(i==2) continue etiqueta1;
	print (i);

}

etiqueta1: 
print("Hola!");

//Salida

0
1
Hola!

No a las etiquetas señores!!! Es del siglo pasado por favor!!! Parece que se ponen de acuerdo, ya lo vi en varias clases!!

Los ejemplos de cada clase podrian ser mucho mejores

😦

Muy buenos ejemplos, se pueden entender mejor haciendo debug y viendo como se ejecutan linea por linea.

En mi caso con Visual Code puse un break point al inicio del programa y de ahi Debug > Start Debuging

El uso de etiquetas me gusto mucho 😄

Un resumen de esta increíble clase!

//Break, continue y etiquetas
  
  //Break: Detiene el trabajo de un ciclo por completo
  //Continue: Continua una nueva parte del codigo
  //Etiquetas: Continua la ejecucion del codigo desde un punto definido 
  
  
   
  //For y break
  for(int i = 1; i<=3; i++){
    for(int j = 1; j<=3; j++) {
      //print('$i $j');
      //Condicion
      if(i==2 && j == 1) break;
    }
  }
  
  //For y continue
  for(int i = 1; i<=3; i++){
    for(int j = 1; j<=3; j++) {
      //Condicion
      if(i==2 && j == 1) continue;
      //print('$i $j');
    }
  }
  
  //For externo y etiqueta continue
  forExterno: for(int i = 1; i<=3; i++){
    for(int j = 1; j<=3; j++) {
      print('$i $j');
      //Condicion
      if(i==2 && j == 1) continue forExterno;
    }
  }
  
  //For externo e interno y etiqueta continue
  forExterno: for(int i = 1; i<=3; i++){
    forInterno: for(int j = 1; j<=3; j++) {
      print('$i $j');
      //Condicion
      if(i==2 && j == 1) continue forInterno;
    }
  }
  
  //For externo e interno y etiqueta break
  forExterno: for(int i = 1; i<=3; i++){
    forInterno: for(int j = 1; j<=3; j++) {
      print('$i $j');
      //Condicion
      if(i==2 && j == 1) break forInterno;
    }
  }

Las etiquetas son muy útiles en los casos que comentas, llevo 3 años desarrollando en otros lenguajes que lo soportan y no le encuentro otras utilidades. Estaría encantado de recibir más ejemplos.

Me parece interesante el uso de las etiquetas pero en switch en los ciclos repetitivos no se me ocurre ninguna necesidad de usarlo

main(List<String> args) {
  for (int i = 1; i <= 3; i++) {
    print('$i externo');
    for (int j = 0; j <= 3; j++) {
      print('$i externo + $j interno');
      break;
    }
  }
}
1 externo
1 externo + 0 interno
2 externo
2 externo + 0 interno
3 externo
3 externo + 0 interno
Exited

ahora sin el break

1 externo
1 externo + 0 interno
1 externo + 1 interno
1 externo + 2 interno
1 externo + 3 interno
2 externo
2 externo + 0 interno
2 externo + 1 interno
2 externo + 2 interno
2 externo + 3 interno
3 externo
3 externo + 0 interno
3 externo + 1 interno
3 externo + 2 interno
3 externo + 3 interno
Exited

muy buena clase !

En otros lenguajes es recomendable las etiquetas aunque existen, el comenta que con cuidado su uso

Gracias por explicar la diferencia entre break y continue

Muy buena aclaración en el uso de Break y Continue.

super!

muy interesante el uso de las etiquetas nunca lo habia visto, he aprendido algo nuevo jjeje

interesante uso

a mi las etiquetas no me funcion en dartpad es normal ? o estoy haciendo algo mal?

parece facil

void main() {
/forExterno: for(int i=1;i<=3;i++){
for(int j=1;j<=3;j++){
print(’$i $j’);
//if(i2 && j1)break;
if(i2 && j1)continue forExterno;
}
}
/

forExterno: for(int i=1;i<=3;i++){
forInterno: for(int j=1;j<=3;j++){
//if(i2 && j1)continue forExterno;
if(i2 && j1)continue forInterno;
print(’$i $j’);
//if(i2 && j1)break;
}
}
}

interesante el uso de las etiquetas. excelente.

Veo que el uso de las etiquetas recuerda mucho al clásico Goto en C. Quizá en algún momento sirva de algo tenerlas.

Lo del continue me encantó. Eso no está en JavaScript…😮

main(List<String> args) {
/*  forexterno: for (int i = 0; i <=3; i++) {
      forinterno:for (int j = 0; j <=3; j++) {
          print('$i $j');
          if (i==2 && j==1) continue forinterno;//break;
  }
  }
*/



 forexterno: for (int i = 0; i <=3; i++) {
      forinterno:for (int j = 0; j <=3; j++) {
         
          if (i==2 && j==1) break forinterno;
          print('$i $j');
  }
  }

}```

“Muchos programadores consideran que escribir código espagueti es un verdadero desastre, pero lo cierto es que no tiene nada de malo, si esto permite a la persona entender la comprensión del problema, lo inadecuado sería considerar que ese código está terminado. Lo más importante es utilizar la refactorización…”

https://codigoespagueti.com/noticias/internet/que-es-codigo-espagueti/

Esto lo busqué luego de leer un poco los comentarios, donde algunos se encuentran a favor y otros en contra del uso de etiquetas. En mi opinión no es malo usar etiquetas para poder estructurar el código que necesitamos en primera instancia, pero deberíamos hacerlo más “clean” mediante un proceso de refactorización en la medida de lo posible.

main(List<String> args) {
  var number = 0;
  print("""
  .......................................
  | |  Hola esto es un ciclo Do-While | |
  | |                                 | |
  | |    terminara si number = 10     | |
  | |                                 | |
  '''''''''''''''''''''''''''''''''''''''
  """);
  do {
    number++;
    print("valor actual de number en el ciclo es : ${number - 1}");
  } while (number < 10);
  print("saliste del ciclo Do-While");
}```

Break se sale del ciclo y continua el siguiente código. En cambio continuo se salta esa “repetición” y vuelve a la condición