Vamos a ver como hacer bucles en Java con for
y while
.
Un bucle, como dice el nombre, es repetir una acción o parte de código varias veces. En cada repetición, el bucle realiza una serie de pasos. Este bucle está controlado con una condición que le permitirá continuar repitiendo, o parar.
En Java hay 2 tipos de bucles:
Bucles for
Un bucle for
se usa para repetir una acción un número determinado de veces.
Este se utiliza con la palabra clave for
seguido de tres instrucciones:
- Declaración inicial: Esta instrucción correrá antes de iniciar el bucle.
- Condición para seguir: esta instrucción ha de devolver un
boolean
. Cuando se cumpla una iteración del bucle, se llamará la comprobación. Mientras sea cierta, el bucle continuará. Si es falsa, el bucle terminará en ese mismo ciclo. - Instrucción final: Esta instrucción será llamada al finalizar un ciclo.
Como ejemplo haremos un programa que cuente hasta 10. Vamos a hacer un bucle que vaya desde el 0 hasta el 9, y lo imprima en pantalla:
Este bucle imprimirá el valor de i
, e i
irá incrementando 1 cada vez que termine un ciclo. El primer ciclo i
será 0, el segundo ciclo i
será 1, y así hasta que i
sea menor de 10; cuando acabe el décimo ciclo, i
pasará a ser 10, con lo cual la condición i < 10
ya no será cierta, y el bucle terminará.
For-each
La utilidad principal de los bucles for
es poder iterar sobre las listas. Suponiendo que tenemos una Array
de nombres, podríamos imprimir en pantalla todos con un for-loop
En este programa estamos declarando la Array
nombres
, y luego abajo estamos iterando cada posición de la Array
con un bucle for
, que depende de la longitud de nombres
. Aún así, hay una manera más sencilla de iterar sobre cada posición en un Array
.
Un bucle for-each
tiene una sintaxis algo más sencilla, donde cada iteración ya nos da el valor que buscamos de la posición.
Si corremos este programa veremos que el resultado es el mismo que el del programa anterior.
Una clara desventaja de los bucles for-each
es que no tenemos la posición donde se encuentra ese valor dentro de la Array
.
Bucles while
Un bucle while
se usa para ejecutar una acción indefinidamente mientras una condición sea true
.
Este se utiliza con la palabra clave while
seguido de la condición que determina si el bucle sigue o no.
Como ejemplo vamos a hacer un programa que tomará números y los irá sumando, hasta que el usuario no introduzca más números. Necesitaremos usar un Scanner
.
En el ejemplo scanner.hasNextInt()
devuelve un boolean
que será cierto si en la entrada siguen habiendo números.