Dominar Bucles while y do-while en Java: Tutorial Paso a Paso
Bucles while y do...while en Java
En este tutorial, aprenderemos cómo usar los bucles while y do-while en Java con la ayuda de ejemplos.
En programación, los bucles se usan para repetir un bloque de código. Por ejemplo, si quieres mostrar un mensaje 100 veces, puedes usar un bucle. Es solo un ejemplo simple; puedes lograr mucho más con bucles.
En el tutorial anterior, aprendiste sobre el bucle for en Java. Aquí, vas a aprender sobre los bucles while y do...while.
Bucle while en Java
El bucle while en Java se usa para ejecutar un código específico hasta que se cumple una cierta condición. La sintaxis del bucle while es:
while (expresiónDePrueba) {
// cuerpo del bucle
}
Aquí,
- Un bucle
whileevalúa la expresiónDePrueba dentro del paréntesis(). - Si la expresiónDePrueba evalúa a
true, el código dentro del buclewhilese ejecuta. - La expresiónDePrueba se evalúa de nuevo.
- Este proceso continúa hasta que la expresiónDePrueba es
false. - Cuando la expresiónDePrueba evalúa a
false, el bucle se detiene.
Para saber más sobre las condiciones, visita Operadores relacionales y lógicos en Java.
Diagrama de Flujo del Bucle while

Ejemplo 1: Mostrar Números del 1 al 5
// Programa para mostrar números del 1 al 5
class Main {
public static void main(String[] args) {
// declarar variables
int i = 1, n = 5;
// bucle while del 1 al 5
while(i <= n) {
System.out.println(i);
i++;
}
}
}
Salida
1 2 3 4 5
Así es como funciona este programa.
| Iteración | Variable | Condición: i <= n | Acción |
|---|---|---|---|
| 1ª | i = 1n = 5 | true | 1 se imprime. i aumenta a 2. |
| 2ª | i = 2n = 5 | true | 2 se imprime. i aumenta a 3. |
| 3ª | i = 3n = 5 | true | 3 se imprime. i aumenta a 4. |
| 4ª | i = 4n = 5 | true | 4 se imprime. i aumenta a 5. |
| 5ª | i = 5n = 5 | true | 5 se imprime. i aumenta a 6. |
| 6ª | i = 6n = 5 | false | El bucle termina |
Ejemplo 2: Suma de Solo Números Positivos
// Programa Java para encontrar la suma de números positivos
import java.util.Scanner;
class Main {
public static void main(String[] args) {
int sum = 0;
// crear un objeto de la clase Scanner
Scanner input = new Scanner(System.in);
// tomar entrada entera del usuario
System.out.println("Introduce un número");
int number = input.nextInt();
// el bucle while continúa
// hasta que el número introducido sea positivo
while (number >= 0) {
// sumar solo números positivos
sum += number;
System.out.println("Introduce un número");
number = input.nextInt();
}
System.out.println("Sum = " + sum);
input.close();
}
}
Salida
Introduce un número 25 Introduce un número 9 Introduce un número 5 Introduce un número -3 Sum = 39
En el programa anterior, hemos usado la clase Scanner para tomar entrada del usuario. Aquí, nextInt() toma entrada entera del usuario.
El bucle while continúa hasta que el usuario introduce un número negativo. Durante cada iteración, el número introducido por el usuario se suma a la variable sum.
Cuando el usuario introduce un número negativo, el bucle termina. Finalmente, se muestra la suma total.
Bucle do...while en Java
El bucle do...while es similar al bucle while. Sin embargo, el cuerpo del bucle do...while se ejecuta una vez antes de comprobar la expresión de prueba. Por ejemplo,
do {
// cuerpo del bucle
} while(expresiónDePrueba);
Aquí,
- El cuerpo del bucle se ejecuta primero. Luego se evalúa la expresiónDePrueba.
- Si la expresiónDePrueba evalúa a
true, el cuerpo del bucle dentro de la sentenciadose ejecuta de nuevo. - La expresiónDePrueba se evalúa una vez más.
- Si la expresiónDePrueba evalúa a
true, el cuerpo del bucle dentro de la sentenciadose ejecuta de nuevo. - Este proceso continúa hasta que la expresiónDePrueba evalúa a
false. Entonces el bucle se detiene.
Diagrama de Flujo del Bucle do...while

Ejemplo 3: Mostrar Números del 1 al 5
// Programa Java para mostrar números del 1 al 5
import java.util.Scanner;
// Programa para encontrar la suma de números naturales del 1 al 100.
class Main {
public static void main(String[] args) {
int i = 1, n = 5;
// bucle do...while del 1 al 5
do {
System.out.println(i);
i++;
} while(i <= n);
}
}
Salida
1 2 3 4 5
Así es como funciona este programa.
| Iteración | Variable | Condición: i <= n | Acción |
|---|---|---|---|
i = 1n = 5 | no verificada | 1 se imprime. i aumenta a 2. | |
| 1ª | i = 2n = 5 | true | 2 se imprime. i aumenta a 3. |
| 2ª | i = 3n = 5 | true | 3 se imprime. i aumenta a 4. |
| 3ª | i = 4n = 5 | true | 4 se imprime. i aumenta a 5. |
| 4ª | i = 5n = 5 | true | 6 se imprime. i aumenta a 6. |
| 5ª | i = 6n = 5 | false | El bucle termina |
Ejemplo 4: Suma de Números Positivos
// Programa Java para encontrar la suma de números positivos
import java.util.Scanner;
class Main {
public static void main(String[] args) {
int sum = 0;
int number = 0;
// crear un objeto de la clase Scanner
Scanner input = new Scanner(System.in);
// el bucle do...while continúa
// hasta que el número introducido sea positivo
do {
// sumar solo números positivos
sum += number;
System.out.println("Introduce un número");
number = input.nextInt();
} while(number >= 0);
System.out.println("Sum = " + sum);
input.close();
}
}
Salida 1
Introduce un número 25 Introduce un número 9 Introduce un número 5 Introduce un número -3 Sum = 39
Aquí, el usuario introduce un número positivo, ese número se suma a la variable sum. Y este proceso continúa hasta que el número es negativo. Cuando el número es negativo, el bucle termina y muestra la suma sin sumar el número negativo.
Salida 2
Introduce un número -8 Sum is 0
Aquí, el usuario introduce un número negativo. La condición de prueba será false pero el código dentro del bucle se ejecuta una vez.
Bucle while Infinito
Si la condición de un bucle es siempre true, el bucle se ejecuta infinitamente (hasta que la memoria se llena). Por ejemplo,
// bucle while infinito
while(true){
// cuerpo del bucle
}
Aquí hay un ejemplo de un bucle do...while infinito.
// bucle do...while infinito
int count = 1;
do {
// cuerpo del bucle
} while(count == 1)
En los programas anteriores, la expresiónDePrueba es siempre true. Por lo tanto, el cuerpo del bucle se ejecutará infinitamente.
Bucles for y while
El bucle for se usa cuando el número de iteraciones es conocido. Por ejemplo,
for (let i = 1; i <=5; ++i) {
// cuerpo del bucle
}
Y los bucles while y do...while se usan generalmente cuando el número de iteraciones es desconocido. Por ejemplo,
while (condición) {
// cuerpo del bucle
}
Java
- Bucles While vs. Do-While: Comparación clara con ejemplos prácticos
- Variables y Literales en Java: Guía Completa
- Entender Expresiones, Sentencias y Bloques en Java
- Dominar el Bucle for Mejorado en Java: Sintaxis, Ejemplos y Mejores Prácticas
- Clases y Objetos en Java: Guía Práctica
- Clases y métodos abstractos en Java: Guía completa
- Dominando clases anidadas e internas en Java: Tipos, ejemplos y mejores prácticas
- Java throw vs throws: Dominando el manejo de excepciones con ejemplos prácticos
- Dominando Autoboxing y Unboxing en Java: Ejemplos Prácticos y Mejores Prácticas
- Comprobador de Números Palíndromos en Java: Algoritmos con Bucles While y For
- Domina Java: Entendiendo Objetos, Clases y Conceptos Básicos de POO