1. Introducción
Imagínate que tienes una tarea: mostrar en pantalla diez veces «¡Hola!». Claro, podrías escribir diez líneas con Console.WriteLine("¡Hola!"); — pero ahora ya conoces el bucle while, así que esto no es problema para ti.
Pero hay otro bucle — for, que repite la acción necesaria el número de veces que quieras. ¡Y sabe contar él solo!
Aquí tienes un ejemplo típico:
for (int i = 0; i < 10; i++)
{
Console.WriteLine("¡Hola!");
}
¿Qué hace este código? Muestra en pantalla la palabra «¡Hola!» exactamente 10 veces. Sin copy-paste ni dolor de muñeca.
2. Sintaxis del bucle for
El bucle for tiene tres partes principales, que se escriben entre paréntesis después de la palabra clave for:
for (inicialización; condición; cambio)
{
// Cuerpo del bucle
}
Vamos a ver cada elemento en detalle:
- Inicialización — normalmente es crear una variable contador, desde donde empiezan las repeticiones (int i = 0).
- Condición — se comprueba antes de cada iteración. Si es verdadera — se ejecuta el cuerpo del bucle. Si es falsa — el bucle termina. Por ejemplo, i < 10.
- Cambio — el operador que se ejecuta después de cada iteración. Normalmente incrementa o decrementa el valor del contador (i++).
Puedes dibujar un esquema:
3. Comparación entre for y while
Quizá lo entiendas mejor si te digo que for es solo otra forma de escribir un bucle while.
Antes teníamos un bucle while:
int i = 0; // Inicialización de la variable para el bucle
while(i < 10) // Comprobación de la condición para continuar el bucle
{
Console.WriteLine(i); // Acción útil (cuerpo del bucle)
i++; // Incremento del contador
}
Podemos escribirlo como un bucle for, simplemente moviendo todas las acciones que controlan la lógica del bucle:
for (int i = 0; i < 10; i++) // Inicialización; Comprobación de la condición; Incremento del contador
{
Console.WriteLine(i); // Acción útil (cuerpo del bucle)
}
Pasos de funcionamiento de ambos bucles:
- La inicialización int i = 0; se ejecuta una vez antes del bucle.
- Luego se comprueba la condición i <= 10
- Después la acción útil del bucle Console.WriteLine(i);
- Luego el incremento del contador i++
- Después vuelve al paso 2.
4. Ejemplos de uso del bucle for
El ejemplo más sencillo
Vamos a mostrar los números del 1 al 5:
for (int i = 1; i <= 5; i++)
{
Console.WriteLine(i);
}
Salida:
1
2
3
4
5
Nota: si hubieras escrito i < 5, la última salida sería 4.
Cuenta atrás
¿Quieres sentirte como un astronauta? ¡Vamos a hacer una cuenta atrás!
for (int i = 5; i > 0; i--)
{
Console.WriteLine(i);
}
Console.WriteLine("¡Vamos!");
Salida:
5
4
3
2
1
¡Vamos!
El paso del bucle distinto de 1
Puedes cambiar el contador no solo en 1, sino en cualquier otro número:
for (int i = 0; i <= 10; i += 2)
{
Console.WriteLine(i);
}
// Mostrará: 0 2 4 6 8 10
5. Variaciones del bucle for
Varias variables en el bucle
A veces es útil controlar dos variables a la vez. Por ejemplo, vamos a mostrar números de derecha a izquierda y de izquierda a derecha:
for (int izquierda = 1, derecha = 10; izquierda <= 10; izquierda++, derecha--)
{
Console.WriteLine($"{izquierda} {derecha}");
}
Salida:
1 10
2 9
3 8
...
10 1
Bucle for infinito
Si el caso es muy hardcore (por ejemplo, tu proyecto es una máquina de movimiento perpetuo en IT), puedes hacer un bucle for "eterno":
for (;;) // sin inicialización, sin condición, sin cambio
{
Console.WriteLine("¡Trabajar, trabajar y trabajar otra vez!");
}
Atención: este bucle solo termina si en el cuerpo hay break, return o throw. No lo uses sin motivo, o puedes despertar al demonio antiguo — "El proceso no responde".
GO TO FULL VERSION