CodeGym /Cursos /JAVA 25 SELF /Bucle for: introducción y matices de uso

Bucle for: introducción y matices de uso

JAVA 25 SELF
Nivel 4, Lección 2
Disponible

1. Introducción

Imagina que tienes la tarea: mostrar en pantalla «¡Hola!» diez veces. Claro que podrías escribir diez líneas con System.out.println("¡Hola!"); — pero ahora ya conoces el bucle while, así que te las apañarás sin problema.

Pero hay otro bucle — for, que repite la acción necesaria el número de veces requerido. ¡Y sabe contar por sí mismo!

He aquí un ejemplo típico:

for (int i = 0; i < 10; i++)
{
    System.out.println("¡Hola!");
}
Bucle for clásico — imprimir "¡Hola!" 10 veces

¿Qué hace este código? Muestra en pantalla la palabra «¡Hola!» exactamente 10 veces. Sin copiar y pegar ni dolor en la muñeca.

2. Sintaxis del bucle for

El bucle for consta de tres partes principales, que se escriben entre paréntesis después de la palabra clave for:

for (inicialización; condición; actualización)
{
    // Cuerpo del bucle
}
Sintaxis general del for

Veamos cada elemento en detalle:

  • Inicialización — normalmente la creación de una variable contador con la que se lleva la cuenta de las repeticiones (int i = 0).
  • Condición — comprobación antes de cada iteración. Si es verdadera, se ejecuta el cuerpo del bucle. Si es falsa, el bucle termina. Por ejemplo, i < 10.
  • Actualización — operador que se ejecuta después de cada iteración. Normalmente incrementa o decrementa el valor del contador (i++).

Podemos dibujar un esquema:

Esquema de funcionamiento del bucle for

3. Comparación de for y while

Quizá te resulte más claro si te digo que for es simplemente otra forma de escribir el bucle while.

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 de continuación del bucle
{
    System.out.println(i); 	// Acción útil (cuerpo del bucle)
    i++;					// Incremento del contador
}

Podemos escribirlo en forma de bucle for, simplemente trasladando todas las acciones que controlaban la lógica del bucle:

for (int i = 1; i <= 10; i++)  // Inicialización; Comprobación de la condición; Incremento del contador
{
    System.out.println(i);		// Acción útil (cuerpo del bucle)
}

Pasos de funcionamiento de ambos bucles:

  1. La inicialización int i = 0; se ejecuta una vez antes del bucle.
  2. Luego se comprueba la condición i <= 10
  3. Después, la acción útil del bucle System.out.println(i);
  4. Luego el incremento del contador i++
  5. A continuación, se vuelve al paso 2.

4. Ejemplos de uso del for

El ejemplo más sencillo

Imprimamos los números del 1 al 5:

for (int i = 1; i <= 5; i++)
{
    System.out.println(i);
}

Salida:

1
2
3
4
5

Nota: si hubieras escrito i < 5, la última salida sería 4.

Cuenta atrás

¿Quieres sentirte astronauta? ¡Hagamos una cuenta atrás!

for (int i = 5; i > 0; i--)
{
    System.out.println(i);
}
System.out.println("¡Despegamos!");

Salida:

5
4
3
2
1
¡Despegamos!

Un paso del bucle distinto de 1

Puedes variar el contador no solo de 1 en 1, sino en cualquier otro número:

for (int i = 0; i <= 10; i += 2)
{
    System.out.println(i);
}
// Imprimirá: 0 2 4 6 8 10

5. Variaciones del for

Varias variables en el bucle

A veces es útil llevar el seguimiento de dos variables a la vez. Por ejemplo, imprimamos los números de derecha a izquierda y de izquierda a derecha:

for (int left = 1, right = 10; left <= 10; left++, right--)
{
    System.out.println(left + "  " + right);
}

Salida:

1  10
2  9
3  8
...
10  1

Bucle for infinito

Si el caso es muy duro (por ejemplo, tu proyecto es un móvil perpetuo en TI), puedes hacer un bucle for «eterno»:

for (;;) // ni inicialización, ni condición, ni actualización
{
    System.out.println("¡Trabajar, trabajar y una vez más trabajar!");
}
Bucle for infinito

Atención: este bucle solo terminará si en el cuerpo hay break, return o throw. No lo uses sin motivo, o podrías despertar al antiguo demonio — «El proceso no responde».

1
Tarea
JAVA 25 SELF, nivel 4, lección 2
Bloqueada
Cuenta regresiva para el Año Nuevo 🎉
Cuenta regresiva para el Año Nuevo 🎉
1
Tarea
JAVA 25 SELF, nivel 4, lección 2
Bloqueada
Números de asientos en el vagón 🚂
Números de asientos en el vagón 🚂
1
Tarea
JAVA 25 SELF, nivel 4, lección 2
Bloqueada
Cálculo del coste total de las compras 🛍️
Cálculo del coste total de las compras 🛍️
1
Tarea
JAVA 25 SELF, nivel 4, lección 2
Bloqueada
Coordenadas de objetos en movimiento 🕹️
Coordenadas de objetos en movimiento 🕹️
Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION