El bucle for proporciona un mecanismo para ejecutar un grupo de sentencias repetidamente hasta que se cumpla una condición. El bucle consta de cuatro partes:
for (initialization; test; update) {
body;
}
La initialization establece un estado inicial para el bucle y se ejecuta exactamente una vez al comienzo del bucle.
Por lo general, declara y asigna una variable que se usa en la expresión de prueba y en la sentencia de actualización.
Por ejemplo:
int i = 1
La expresión test evalúa si el bucle debe terminar.
Si se evalúa como true, se ejecutarán el cuerpo y luego la expresión de actualización.
Si se evalúa como false, no se ejecutarán ni el cuerpo ni la sentencia de actualización, y la ejecución continúa después de la llave de cierre del bucle.
Por lo general, comprueba la variable asignada en el bloque de inicialización.
Por ejemplo:
i <= 10
Después de ejecutar el cuerpo del bucle, se ejecuta la expresión update.
Por lo general, incrementa o decrementa la variable del bucle en algún valor.
Por ejemplo:
i++
Un bucle for que imprime los primeros cuatro cuadrados se vería así:
for (int i = 1; i <= 4; i++) {
System.out.println(i * i);
}
/* =>
1
4
9
16
*/
Si vas a recorrer cada elemento de una colección, es preferible un bucle for-each, pero también se puede hacer con un bucle for así:
for (int i = 0; i < array.length; i++) {
System.out.print(array[i]);
}
Un bucle for sí tiene algunas ventajas sobre un bucle for-each:
for en situaciones que no tienen que ver con colecciones.