Blog
Si no es por es los bucles sería muy complicado ejecutar secciones de código automáticamente, ya que tendrías que repetir muchas veces una línea de código, lo cual no es para nada eficiente tanto en tiempo como en optimización de la aplicación.
En fin, en Java existen dos tipos de bucles, los cuales son llamados for y while.
Bucle for
Este bucle tiene 3 secciones y se realizan de la siguiente forma:
for (int i = 0; i < 3; i++) {}
En el código anterior lo que hacemos es verificar el valor de un entero y en caso de que este sea menor a 3 le incrementamos su valor.
Expliquemos en detalle cada una de las partes de este código:
int i = 0; // Definimos una variable y le damos el valor de 0. i < 3; /*En esta sección de código se hace la comprobación de que nuestra variable (que actualmente es 0) sea menor a 3. En caso de que esto sea cierto, es decir, esto devuelva un valor de true, se procede con la siguiente sección de código. */ i++; /* Ahora que ya hemos comprobado que el paso anterior es verdadero, se le aumenta el valor a nuestra variable de 0 a 1. */ /* Ahora nuestro código se repite nuevamente para hacer la comprobación, pero no le dará ningún valor a la variable creada previamente. */ i < 3; // El valor recibido es true, ya que nuestra variable aún vale 1. i++; // La variable incrementa su valor a 2. //Se repite nuevamente nuestro código y se hace la comprobación. i < 3; // Nuevamente true, ya que el valor de nuestra variable es 2. i++; // Incrementa el valor de la variable a 3. /* Ahora si existe un cambio, nuestra variable ahora es de 3 y no es menor a 3. En este caso, lo que pasaría es que: */ i < 3; /* Esta vez el valor es false debido a que nuestra variable "i" no es menor a 3, ya que equivale a 3, por lo cual nuestro bucle termina. */
Si ahora imprimimos nuestra variable tendremos el siguiente resultado:
3
No es necesario que usemos siempre la primera y tercera sección de nuestro bucle, aunque no es una práctica recomendable.
for (;i < 5;) {}
Bucle While
El bucle while es parecido al anterior. Para hacer uso de el usamos la siguiente sintaxis:
while (condición) {}
Primero se va a ejecutar la condición y en caso de que esta condición no se cumpla y devuelva un valor false, no se ejecuta más el ciclo.
Un pequeño ejemplo de un bucle while podría ser el siguiente:
public static void main(String[] args) { int i = 3; while (i < 8) { i++; } System.out.println(i); }
Esto daría como resultado por consola el valor de i, el cual es el siguiente:
8
Ahora, si queremos que en nuestro ciclo se cumpla la condición al menos una vez antes de comprobar debemos usar el bucle do while.
do{ }while(condición);
Lo que hace el bucle do while es lo contrario a while. Cuando nosotros hacemos un bucle while primero le preguntaremos al programa si las condiciones se cumplen y en el caso de que no se cumplan se rompe el bucle.
El do while es lo contrario, primero vamos a ejecutar nuestro código y luego le preguntamos al programa si las condiciones son las necesarias para la ejecución. En caso de que esto no se cumpla el bucle se rompe, pero ya tendremos ejecutado nuestro código una vez.
Bucle Foreach
El bucle foreach es una variante de for que es usada para iterar sobre los elementos de un array. La sintaxis es la siguiente:
public static void main(String[] args){ int[] arr = {2, 0, 1, 3}; for (int el : arr) { System.out.println(el); } }
Claro está que esto se trata de una versión equivalente y mucho más corta a un código como este:
int[] arr = {1, 9, 9, 5}; for (int i = 0; i < arr.length; i++) { int el = arr[i]; System.out.println(el); }
Break y continue
Estas dos sentencias nos permiten controlar el flujo de nuestro bucle de manera más sencilla.
Break nos permite romper el bucle y pasar a la siguiente instrucción del código. Un pequeño ejemplo:
public static void main(String[] args){ int i; // Declaramos nuestra variable for (i = 0; i < 5; i++) { /* Establecemos para nuestro bucle for un máximo de 5 para nuestra variable, de lo contrario incrementamos en un 1 nuestra variable */ if (i >= 2) { // Si nuestra variable es mayor o igual a 2 rompemos el bucle con break. break; } System.out.println("Nope, aún es menor a 2"); // En dicho caso de que no se cumpla el caso anterior procedemos a imprimir un mensaje. } System.out.println(i); }
El resultado de nuestro código es el siguiente:
Nope, aún es menor a 2 Nope, aún es menor a 2 3
continue, por otro lado, nos permite detener la iteración para pasar al siguiente trozo de código. Un ejemplo de continue es el siguiente:
int i; for (i = 0; i < 5; i++) { /* Establecemos los casos en que se ejecuta el código de forma que siempre que i sea menor a 5 se le aumentará su valor. */ if (i >= 3) { //Si i es mayor o igual a 3 se rompe el bucle. break; } System.out.println("¡Es mayor o igual 3!"); /*Una vez roto el bucle se imprime el mensaje*/ if (i >= 1) { //Se comprueba si i es mayor o igual a 1 y de ser así se activa el código continue. continue; } System.out.println("¡Es mayor o igual a 1!"); //Se imprime el mensaje. } System.out.println(i); //Si ninguna de las condiciones se cumple se imprime el valor de i.
Ejercicio
Toma el código anterior y modifíca los valores y el último método de salida para que imprima en pantalla el mensaje “Tengo 24225 dólares en mi cuenta.”
Si has llegado hasta aquí, enhorabuena, pasa a la siguiente lección:
[…] Una vez acabes de asimilar esta lección es hora de pasar al siguiente nivel y aprender a usar los bucles de Java. […]
[…] Bucles en Java […]