Icono play
Java
Bucle for

Los bucles son un tipo de sentencia y estructura de control de flujo dentro de un programa.

Se utilizan para repetir la ejecución de un bloque de código, hasta que la condición booleana asignada al bucle deja de cumplirse.

En cada iteración del bucle se evalúa la expresión de condición y en el momento que no se cumple se continúa con la siguiente sentencia del programa.

Los bucles for y for-each en Java son dos maneras de realizar bucles, su nombre es similar, su estructura diferente.

El Bucle for es una estructura de control determinada porque se conoce a priori dónde empieza y dónde termina.

Veamos un ejemplo:

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

Ahora analicemos la estructura.

La sentencia for consta de 3 partes:

  • Condición de comienzo
  • Condición de parada del proceso
  • Condición de incremento del for

En el ejemplo vemos que comienza mediante la declaración de la variable i que se inicializa a 0.

Luego realiza la comprobación de que i es menor que 5, verificadas las 2 sentencias, incrementa i en 1, imprime el valor de i en cada iteración.

¿Cuándo usamos for en Java?

Utilizamos for con Arrays (una variable que almacena una gran cantidad de datos de un mismo tipo) para imprimirlos, accederlos, y realizar operaciones con ellos.

Un for, además se puede combinar con otras sentencias de control, como  if-else, if, etc.,  para darle más funcionalidad a nuestro programa.

Asimismo, se pueden utilizar dentro del bucle for las sentencias de corte continuebreak.

Break detiene el bucle completamente.

Continue detiene únicamente la iteración actual y salta a la siguiente.

También podemos establecer una evaluación booleana que siempre sea true, el bucle no dejará nunca de ejecutarse hasta que el programa se detenga por falta de memoria.

No podemos utilizar false en un bucle for

Otro ejemplo:

public class BucleFor {
    public static void main(String args[]) {
        for (int i = 0; // índice de control
            i < 100; // condición booleana
            i++) // modificación del índice tras cada bucle
        {
            // Lo que queramos que se ejecute varias veces
        }
    }
}

La ejecución de cada una de las partes de la estructura se presenta así:

  1. Se instancia el índice de control, o toma el valor, si le determinas uno nuevo (i=0)
  2. Se evalúa la condición booleana, si la evaluación es falsa, el bucle se detiene (i<100). Si la evaluación es verdadera, se ejecuta el código del bucle for.
  3. Se modifica el valor del índice de control según la regla establecida (i++)

Una vez ejecutado el ciclo recomienza y continúa hasta que la condición deje de ser verdadera.

¿Cuándo usamos for-each en Java?

Este tipo de bucle no permite tanto control como el bucle for solo.

El bucle for-each nos permite recorrer una lista de objetos o variables primitivas, tiene la ventaja de que no es necesario utilizar una variable que haga de contador ni requiere establecer una condición para comprobar si debe finalizar la iteración.

Con el bucle for-each una colección se recorre de la siguiente manera:

String[] cars = {
    "Volvo",
    "BMW",
    "Ford",
    "Mazda"
};
for (String i: cars) {
    System.out.println(i);
}

La estructura for-each tiene una construcción sencilla, primero la palabra for seguida de un paréntesis, dentro de este hay 3 partes

  • Tipo de dato que se va a extraer.
  • Tipo de variable primitiva.
  • Nombre que recibe la variable local con la que se va a operar el bucle.

No se puede prescindir de ninguna de las tres partes.

Para cualquiera de las formas de hacer el bucle for el comportamiento es el mismo, iterar un número definido de veces o sobre los elementos de una colección.

Elegir cuál usar entre los diferentes tipos de bucles depende de lo que necesitemos u optemos y de las preferencias personales sin perder la objetividad de la legibilidad y expresividad del código fuente.

¿Todavía no te has apuntado a nuestro Bootcamp?
Tenemos muchos cursos para ofrecerte y ¡TOTALMENTE GRATIS! Estos son algunos de ellos: