Bucles en Java: while, do-while, for, bucles anidados, break y continue
En programación, muchas veces es necesario repetir una acción varias veces. Por ejemplo, recorrer una lista de datos, imprimir varios valores o ejecutar un cálculo hasta que se cumpla una condición.
Para realizar estas tareas se utilizan los bucles en Java (también llamados estructuras de repetición). Un bucle permite ejecutar un bloque de código varias veces sin necesidad de escribir las mismas instrucciones repetidamente.
Java ofrece varios tipos de bucles, cada uno diseñado para diferentes situaciones.
En este artículo se explican los principales bucles en Java:
- el bucle
while - el bucle
do while - el bucle
for - los bucles anidados
- las instrucciones
breakycontinue
Bucle while en Java
El bucle while ejecuta un bloque de código mientras se cumpla una condición.
La condición se evalúa antes de ejecutar el bloque de código. Si la condición es verdadera, el bucle continúa ejecutándose. Si es falsa, el bucle termina.
La sintaxis básica es la siguiente:
while (condición) {
// código que se repite
}
Ejemplo:
int contador = 1;
while (contador <= 5) {
System.out.println(contador);
contador++;
}
Salida:
1
2
3
4
5
En este ejemplo:
- la variable
contadorcomienza con el valor1 - el bucle continúa mientras
contadorsea menor o igual a5 - en cada iteración se incrementa el valor con
contador++
Si no se modifica la variable dentro del bucle, se puede producir un bucle infinito, es decir, un bucle que nunca termina.
Ejemplo de bucle infinito:
while (true) {
System.out.println("Este bucle nunca termina");
}
Bucle do while en Java
El bucle do while es similar al while, pero con una diferencia importante: el bloque de código se ejecuta al menos una vez, incluso si la condición es falsa.
La condición se evalúa después de ejecutar el bloque.
La sintaxis es la siguiente:
do {
// código que se ejecuta
} while (condición);
Ejemplo:
int numero = 1;
do {
System.out.println(numero);
numero++;
} while (numero <= 5);
Salida:
1
2
3
4
5
Este bucle es útil cuando se necesita que el código se ejecute al menos una vez, por ejemplo cuando se solicita una entrada al usuario.
Ejemplo:
int opcion;
do {
System.out.println("Ingrese una opción");
opcion = 1;
} while (opcion != 1);
Bucle for en Java
El bucle for es uno de los más utilizados en Java, especialmente cuando se conoce de antemano cuántas veces se debe repetir una acción.
Su sintaxis es la siguiente:
for (inicialización; condición; actualización) {
// código que se repite
}
Ejemplo:
for (int i = 1; i <= 5; i++) {
System.out.println(i);
}
Salida:
1
2
3
4
5
En este bucle se pueden identificar tres partes:
Inicialización
int i = 1
Se ejecuta una sola vez al comenzar el bucle.
Condición
i <= 5
Mientras esta condición sea verdadera, el bucle continúa.
Actualización
i++
Se ejecuta después de cada iteración.
Otro ejemplo común es recorrer un array:
int[] numeros = {10, 20, 30, 40};
for (int i = 0; i < numeros.length; i++) {
System.out.println(numeros[i]);
}
Bucles anidados en Java
Un bucle anidado es un bucle que se encuentra dentro de otro bucle.
Esto permite realizar repeticiones dentro de otras repeticiones, algo útil para trabajar con matrices, tablas o combinaciones de datos.
Ejemplo:
for (int i = 1; i <= 3; i++) {
for (int j = 1; j <= 3; j++) {
System.out.println("i: " + i + " j: " + j);
}
}
Salida:
i: 1 j: 1
i: 1 j: 2
i: 1 j: 3
i: 2 j: 1
i: 2 j: 2
i: 2 j: 3
i: 3 j: 1
i: 3 j: 2
i: 3 j: 3
En este ejemplo:
- el bucle exterior controla el valor de
i - el bucle interior controla el valor de
j
Por cada iteración del bucle exterior, el bucle interior se ejecuta completamente.
break en Java
La instrucción break se utiliza para terminar un bucle inmediatamente, incluso si la condición del bucle sigue siendo verdadera.
Ejemplo:
for (int i = 1; i <= 10; i++) {
if (i == 5) {
break;
}
System.out.println(i);
}
Salida:
1
2
3
4
Cuando i alcanza el valor 5, el bucle se detiene.
break se utiliza cuando se necesita interrumpir una repetición antes de tiempo.
continue en Java
La instrucción continue se utiliza para saltar la iteración actual del bucle y continuar con la siguiente.
Ejemplo:
for (int i = 1; i <= 5; i++) {
if (i == 3) {
continue;
}
System.out.println(i);
}
Salida:
1
2
4
5
Cuando i es igual a 3, el programa salta esa iteración y continúa con la siguiente.
continue es útil cuando se quiere ignorar ciertos valores dentro de un bucle.
Ejemplo completo
El siguiente programa utiliza diferentes tipos de bucles en Java.
public class BuclesEjemplo {
public static void main(String[] args) {
for (int i = 1; i <= 5; i++) {
System.out.println("Número: " + i);
}
int contador = 1;
while (contador <= 3) {
System.out.println("While: " + contador);
contador++;
}
int numero = 1;
do {
System.out.println("Do while: " + numero);
numero++;
} while (numero <= 3);
}
}
Este programa muestra cómo pueden utilizarse diferentes estructuras de repetición dentro de un mismo programa.
Resumen
Los bucles en Java permiten repetir bloques de código de forma eficiente y organizada.
En este artículo se explicaron las estructuras de repetición más importantes:
- el bucle while, que repite código mientras se cumple una condición
- el bucle do while, que ejecuta el código al menos una vez
- el bucle for, utilizado cuando se conoce la cantidad de repeticiones
- los bucles anidados, que permiten realizar repeticiones dentro de otras
- las instrucciones break y continue, que modifican el comportamiento de los bucles
Comprender cómo funcionan los bucles es fundamental para desarrollar programas que procesen datos, recorran estructuras y ejecuten tareas repetitivas en Java.
Volver al indice de Programación en Java.