0Pricing
Java Academy · Lección

continue con etiqueta

Continúe con un bucle externo

continue con etiqueta es una lección gratuita de Java Academy en CoddyKit. Esta es la lección 3 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Java Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Java Academy incluye 4 lecciones en total.

Continuar con un bucle externo

Un continue normal solo reinicia el bucle interno. A veces desea pasar a la siguiente iteración del bucle externo.

Para ello, Java ofrece un continue con etiqueta.

Este combina una etiqueta de bucle con la palabra clave continue para controlar qué bucle avanza.

Sintaxis de continue con etiqueta

La forma es continue label;, donde la etiqueta da nombre a un bucle envolvente.

En lugar de avanzar el bucle interno, salta a la siguiente iteración del bucle etiquetado.

Todo lo que quede en el bucle interno para esa iteración se omite.

continue outer;  // jump to next iteration of 'outer'

Un primer ejemplo

Aquí, cuando col es igual a 2, continuamos con el bucle externo.

Esto abandona el resto del bucle interno y pasa inmediatamente a la siguiente fila.

public class Main {
    public static void main(String[] args) {
        outer:
        for (int row = 1; row <= 3; row++) {
            for (int col = 1; col <= 3; col++) {
                if (col == 2) {
                    continue outer;
                }
                System.out.println("row " + row + ", col " + col);
            }
        }
    }
}

Leer la salida

Cada fila solo imprimió col 1. Cuando col alcanzó el valor 2, continue outer saltó directamente a la siguiente fila.

Las columnas 2 y 3 nunca se imprimieron para ninguna fila.

El bucle interno se reinició desde col 1 en cada fila nueva.

continue frente a continue con etiqueta

Compárelo con un continue normal. Este solo omitiría col 2 y seguiría imprimiendo col 3.

Ejecute el código y observe que col 1 y col 3 aparecen en todas las filas.

public class Main {
    public static void main(String[] args) {
        for (int row = 1; row <= 3; row++) {
            for (int col = 1; col <= 3; col++) {
                if (col == 2) {
                    continue;
                }
                System.out.println("row " + row + ", col " + col);
            }
        }
    }
}

La diferencia fundamental

Un continue normal solo omite la iteración interna actual, por lo que el bucle interno continúa.

continue outer con etiqueta abandona todo el bucle interno y reinicia la siguiente iteración del bucle externo.

Esa única etiqueta cambia cuánto código se omite.

Omitir una fila completa

Un continue con etiqueta resulta práctico cuando un valor no válido debe invalidar el resto de una iteración interna.

Aquí, si algún número de una fila es negativo, omitimos el resto del trabajo de esa fila y continuamos.

public class Main {
    public static void main(String[] args) {
        int[][] data = {{1, 2, 3}, {4, -1, 6}, {7, 8, 9}};
        rows:
        for (int r = 0; r < data.length; r++) {
            int sum = 0;
            for (int c = 0; c < data[r].length; c++) {
                if (data[r][c] < 0) {
                    System.out.println("Row " + r + " skipped");
                    continue rows;
                }
                sum += data[r][c];
            }
            System.out.println("Row " + r + " sum = " + sum);
        }
    }
}

Seguir el ejemplo paso a paso

Las filas 0 y 2 imprimieron sus sumas. La fila 1 encontró un valor negativo, imprimió "Row 1 skipped" y pasó a la siguiente fila.

Es importante señalar que la línea de la suma de la fila 1 nunca se ejecutó, porque el continue con etiqueta la omitió.

Filtrar pares

Otro uso consiste en omitir un elemento externo completo en cuanto falla una condición interna.

Este bucle imprime pares, pero omite cualquier i cuyo producto con j superaría 6.

public class Main {
    public static void main(String[] args) {
        loopI:
        for (int i = 1; i <= 3; i++) {
            for (int j = 1; j <= 3; j++) {
                if (i * j > 6) {
                    continue loopI;
                }
                System.out.println(i + " x " + j + " = " + (i * j));
            }
        }
    }
}

Nombres y ubicación de las etiquetas

El bucle etiquetado debe contener la instrucción continue. No puede usar continue con una etiqueta que no esté por encima de ella.

Elija nombres descriptivos, como rows o loopI, para que los lectores sepan qué bucle avanza.

Una etiqueta clara es documentación por sí misma.

Cuándo ayuda y cuándo perjudica

Un continue con etiqueta resulta útil cuando una condición debe invalidar el resto de una iteración interna y permitir continuar.

Sin embargo, abusar de las etiquetas dificulta seguir el flujo. Si un continue normal o un return anticipado del método se entiende con más facilidad, prefiera esa opción.

Use etiquetas solo cuando realmente aporten claridad.

Comprobación rápida

Prediga el efecto de un continue con etiqueta.

Repaso

continue label; omite el resto del bucle interno y hace avanzar el bucle externo indicado hasta su siguiente iteración.

Se diferencia de un continue normal, que solo omite una iteración interna. Use etiquetas cuando hagan más clara la lógica de varios bucles, no simplemente cuando la hagan más corta.

Preguntas frecuentes

¿La lección «continue con etiqueta» es gratis?

Sí — el texto completo de «continue con etiqueta» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Java Academy, actualiza a CoddyKit PRO. El curso de Java Academy incluye 4 lecciones en total.

¿Qué aprenderé en «continue con etiqueta»?

Continúe con un bucle externo Practicas Java Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Java Academy?

No se requiere experiencia previa. Java Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 4.

¿Cuánto tiempo toma la lección «continue con etiqueta»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Java Academy?

Sí. Cada lección de Java Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. break y continue
  2. break con etiqueta
  3. continue con etiqueta
  4. Cómo evitar el flujo espagueti
← Volver a Java Academy