CodeGym /Cursos /C# SELF /Controlando el ciclo: operadores break y continue

Controlando el ciclo: operadores break y continue

C# SELF
Nivel 4 , Lección 4
Disponible

1. Introducción

Muchas veces pasa que no necesitas recorrer todas las iteraciones de un ciclo hasta el final, sino que quieres salirte antes — por ejemplo, en cuanto encuentras el elemento que buscas. Otras veces necesitas saltarte parte del trabajo y pasar al siguiente paso (por ejemplo, leíste datos y quieres saltarte su procesamiento). Eso es controlar el flujo dentro del ciclo.

Los operadores break y continue en C# están hechos justo para eso. Vamos a ver cómo funcionan y para qué te pueden servir en tareas reales.

2. Operador break: "¡Alto ahí!"

Teoría y sintaxis

El operador break se usa para salir inmediatamente del ciclo, estés donde estés dentro de su cuerpo. En cuanto la ejecución del programa llega a break, el ciclo termina al instante y la ejecución sigue desde la primera línea de código después del ciclo.


while (condición)
{
    if (alguna-condición)
    {
        break;
    }
    // el resto del código del ciclo
}
Uso de break en un ciclo while

Lo mismo funciona para for y para do-while:

for (int i = 0; i < 10; i++)
{
    if (alguna-condición)
    {
        break;
    }
    // el resto del código del ciclo
}

Ejemplo 1: comprobar si un número es primo

Un número es primo si solo se divide entre 1 y sí mismo. Tenemos que comprobar si un número es primo: recorrer todos los posibles divisores desde 2 hasta n-1. Si resulta que nuestro número se divide entre algún divisor, ya no hace falta seguir comprobando — ¡el número no es primo! Se puede terminar el ciclo.

Ejemplo:

int number = 111;
bool encontrado = false;
for (int i = 2; i < number; i++)
{
    if (number % i == 0)
    {
        encontrado = true;
        Console.WriteLine("Encontramos divisor " + i );
        break; // Paramos el ciclo, ¡no hace falta buscar más!                
    }    
}

if (!encontrado)
{
    Console.WriteLine("No se encontró divisor - el número es primo.");
}

Ejemplo 2: validación de la entrada del usuario

Vamos a escribir una pequeña app, por ejemplo, un formulario interactivo para recolectar datos:

while (true)
{
    Console.Write("Introduce tu edad: ");
    string input = Console.ReadLine();
    int edad;
    if (int.TryParse(input, out edad) && edad > 0)
    {
        Console.WriteLine($"¡Genial! Tu edad: {edad}");
        break;   // Los datos son correctos — ¡hora de terminar el ciclo!
    }
    else
    {
        Console.WriteLine("¡Error! Introduce una edad positiva válida.");
    }
}

¿Para qué sirve esto?:
A veces necesitas que el ciclo corra para siempre (o mucho tiempo), hasta que el usuario meta datos correctos. En cuanto pasa el evento que nos interesa — usamos break y salimos del ciclo definitivamente.

3. Operador continue: "¡Siguiente, por favor!"

Teoría y sintaxis

A diferencia de break, el operador continue no termina todo el ciclo, sino que solo interrumpe la iteración actual: todo lo que está después de continue en el cuerpo del ciclo NO se ejecuta — se pasa a la siguiente iteración.


for (int i = 0; i < 10; i++)
{
    if (condición)
    {
        continue;
    }
    // esta parte solo se ejecuta si continue no se activó
}
Uso de continue en un ciclo for

Ejemplo 3: saltar los números pares

Imagina que necesitas mostrar solo los números impares de un rango. Los pares hay que saltarlos.


for (int i = 1; i <= 10; i++)
{
    if (i % 2 == 0)
    {
        continue; // si el número es par — ¡saltamos todo lo de abajo!
    }
    Console.WriteLine("Número impar: " + i);
}
Saltar los números pares usando continue

¿Qué pasa aquí?:
Cuando i = 2, 4, 6... el ciclo encuentra continue y salta a la siguiente iteración, sin ejecutar Console.WriteLine.

Visualización paso a paso:

i i % 2 == 0 Acción
1 false imprimir, no hay continue
2 true continue, no imprimir
3 false imprimir, no hay continue
4 true continue, no imprimir
... ... ...

Los operadores break y continue se usan un montón. Prácticamente en cada segundo ciclo. Te va a gustar trabajar con ellos.

Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION