Break y Continue
continue salta al siguiente registro; break deja de recorrer en cuanto encuentras lo que buscabas.
✓ En esta sub-lección
- 01Usar continue para saltarse los registros que no aplican sin anidar más if.
- 02Usar break para detener una búsqueda en cuanto aparece el resultado.
- 03Saber qué variable guarda el hallazgo y cómo distinguir «encontrado» de «no encontrado».
La nutria: ¿Te acuerdas? · Repaso de la lección 5
Quieres sumar los importes de una lista de oportunidades. ¿Dónde declaras Decimal total = 0;?
Un for recorre todos los elementos, uno detrás de otro. A veces eso sobra: hay registros que no te interesan, o solo necesitas el primero que cumpla algo. Dos palabras cambian el recorrido desde dentro: continue y break.
La nutria: El paralelo de Admin
continue: siguiente, por favor
continue abandona la vuelta actual y salta a la siguiente. Todo lo que hay debajo de él dentro del bucle se omite para ese elemento. Su gran ventaja es de lectura: en lugar de meter todo el trabajo dentro de un if, descartas lo que no aplica arriba del todo y el resto del cuerpo queda plano.
Integer openCases = 0;
for (Case c : cases) {
if (c.Status == 'Closed') {
continue; // este no cuenta: al siguiente
}
openCases++;
System.debug('Pendiente: ' + c.Subject);
}break: ya lo tengo
break sale del bucle por completo, en ese mismo instante. El código continúa debajo del bucle y los elementos que quedaban ni se miran. Es la herramienta de búsqueda: recorres hasta encontrar y paras.
Case firstUrgent; // null = todavía no encontrado
for (Case c : cases) {
if (c.Priority == 'High' && c.Status == 'New') {
firstUrgent = c;
break; // no hace falta mirar más
}
}
if (firstUrgent == null) {
System.debug('No hay casos urgentes nuevos');
} else {
System.debug('Atender primero: ' + firstUrgent.Subject);
}for (Lead l : leads) {
if (String.isBlank(l.Email)) continue;
if (l.Rating == 'Hot') { first = l; break; }
}- DíazWarmcontinue
- MéndezCold
- RuizHot
- TorresHot
- SotoHot
Paso 1 de 5
Díaz no tiene email: continue salta al siguiente sin ejecutar el resto del cuerpo. No se le puede llamar, así que ni se mira si es Hot.