Saltar al contenido principal

Bucle for

El bucle for permite controlar el número de iteraciones mediante una variable contador. Su sintaxis es la siguiente:

for (inicialización; condición; incremento){
// Bloque de instrucciones
}
  • inicialización: es una o más asignaciones de una variable.
  • condición: es una expresión booleana que controla las iteraciones del bucle.
  • incremento: es el aumento a aplicar a las variables que controlan la condición tras cada iteración.

Su funcionamiento es el siguiente:

  1. Se ejecuta la inicialización. Esto solo se ejecuta una vez antes del bucle.
  2. Se evalúa la condición. Si es falsa, se sale del bucle. Si es verdadera se ejecuta el código del bucle.
  3. Cuando termina de ejecutarse el bloque de instrucciones se ejecuta el incremento.
  4. Se vuelve al punto 2.

Veamos un ejemplo:

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

Veamos la ejecución de este bucle:

  1. Primero se ejecuta la inicialización (int i = 1). A la variable i definida como entero se le asigna el valor 1.
  2. Se ejecuta la condición (i < 3). Como i, que tiene el valor 1, es menor que 3, procedemos a ejecutar el bloque de instrucciones.
  3. El bloque de instrucciones imprime 1.
  4. Se ejecuta el incremento (i++). Esto hace que i incremente el valor en una unidad y tenga el valor 2.
  5. Se vuelve a comprobar la condición (i < 3). Como i, 2, es menor que 3 se ejecuta el bloque de instrucciones.
  6. El bloque de instrucciones imprime el valor 2 en pantalla.
  7. Se ejecuta el incremento (i++). Esto hace que i incremente el valor en una unidad y tenga el valor 3.
  8. Se ejecuta la condición (i < 3). En este caso es falsa, por lo tanto salimos del bucle.

Ámbito de las variables

En Java, es común definir una variable directamente en la declaración de un bucle for. Esta variable solo existe en el ámbito del bucle y no es accesible fuera de él.

La variable i solo existe dentro del bucle. Si intentas acceder a ella fuera del bucle, obtendrás un error de compilación, ya que su ámbito está limitado al for. Ejemplo:

for (int i = 0; i < 10; i++) {
System.out.println(i);
}

System.out.println(i); // Error: no se puede encontrar la variable i