Bucle de Java while y do...while
Java while y do...while Bucle
En este tutorial, aprenderemos a usar while y do while en Java con la ayuda de ejemplos.
En la programación de computadoras, los bucles se usan para repetir un bloque de código. Por ejemplo, si desea mostrar un mensaje 100 veces, puede usar un bucle. Es solo un ejemplo simple; puedes lograr mucho más con los bucles.
En el tutorial anterior, aprendiste sobre Java for loop. Aquí aprenderá sobre while
y do...while
bucles.
bucle while de Java
Java while
loop se utiliza para ejecutar un código específico hasta que se cumpla una determinada condición. La sintaxis del while
el bucle es:
while (testExpression) {
// body of loop
}
Aquí,
- A
while
loop evalúa la textExpression dentro del paréntesis()
. - Si textExpression evalúa a
true
, el código dentro delwhile
se ejecuta el bucle. - La expresión de texto se vuelve a evaluar.
- Este proceso continúa hasta que textExpression es
false
. - Cuando textExpression evalúa a
false
, el bucle se detiene.
Para obtener más información sobre las condiciones, visite Operadores lógicos y relacionales de Java.
Diagrama de flujo del ciclo while

Ejemplo 1:mostrar números del 1 al 5
// Program to display numbers from 1 to 5
class Main {
public static void main(String[] args) {
// declare variables
int i = 1, n = 5;
// while loop from 1 to 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:yo <=n | Acción |
---|---|---|---|
1º | i = 1 n = 5 | true |
1
está impreso. yo se incrementa a 2 . |
2do | i = 2 n = 5 | true |
2
está impreso. yo se incrementa a 3 . |
3ro | i = 3 n = 5 | true |
3
está impreso. yo se incrementa a 4 . |
4º | i = 4 n = 5 | true |
4
está impreso. yo se incrementa a 5 . |
5º | i = 5 n = 5 | true |
5
está impreso. yo se incrementa a 6 . |
6º | i = 6 n = 5 | false | El bucle se termina |
Ejemplo 2:Suma de números positivos solamente
// Java program to find the sum of positive numbers
import java.util.Scanner;
class Main {
public static void main(String[] args) {
int sum = 0;
// create an object of Scanner class
Scanner input = new Scanner(System.in);
// take integer input from the user
System.out.println("Enter a number");
int number = input.nextInt();
// while loop continues
// until entered number is positive
while (number >= 0) {
// add only positive numbers
sum += number;
System.out.println("Enter a number");
number = input.nextInt();
}
System.out.println("Sum = " + sum);
input.close();
}
}
Salida
Enter a number 25 Enter a number 9 Enter a number 5 Enter a number -3 Sum = 39
En el programa anterior, hemos utilizado la clase Scanner para recibir información del usuario. Aquí, nextInt()
toma datos enteros del usuario.
El while
el ciclo continúa hasta que el usuario ingresa un número negativo. Durante cada iteración, el número ingresado por el usuario se agrega al sum
variables.
Cuando el usuario ingresa un número negativo, el ciclo termina. Finalmente, se muestra la suma total.
Java do...while bucle
El do...while
bucle es similar a bucle while. Sin embargo, el cuerpo de do...while
loop se ejecuta una vez antes de que se verifique la expresión de prueba. Por ejemplo,
do {
// body of loop
} while(textExpression);
Aquí,
- El cuerpo del bucle se ejecuta al principio. Luego la expresión de texto se evalúa.
- Si textExpression evalúa a
true
, el cuerpo del ciclo dentro deldo
se ejecuta de nuevo. - La expresión de texto se evalúa una vez más.
- Si textExpression evalúa a
true
, el cuerpo del ciclo dentro deldo
se ejecuta de nuevo. - Este proceso continúa hasta que textExpression evalúa a
false
. Entonces el bucle se detiene.
Diagrama de flujo del bucle do...while

Veamos el funcionamiento de do...while
bucle.
Ejemplo 3:mostrar números del 1 al 5
// Java Program to display numbers from 1 to 5
import java.util.Scanner;
// Program to find the sum of natural numbers from 1 to 100.
class Main {
public static void main(String[] args) {
int i = 1, n = 5;
// do...while loop from 1 to 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:yo <=n | Acción |
---|---|---|---|
i = 1 n = 5 | no marcado |
1
está impreso. yo se incrementa a 2 . | |
1º | i = 2 n = 5 | true |
2
está impreso. yo se incrementa a 3 . |
2do | i = 3 n = 5 | true |
3
está impreso. yo se incrementa a 4 . |
3ro | i = 4 n = 5 | true |
4
está impreso. yo se incrementa a 5 . |
4º | i = 5 n = 5 | true |
6
está impreso. yo se incrementa a 6 . |
5º | i = 6 n = 5 | false | El bucle se termina |
Ejemplo 4:Suma de Números Positivos
// Java program to find the sum of positive numbers
import java.util.Scanner;
class Main {
public static void main(String[] args) {
int sum = 0;
int number = 0;
// create an object of Scanner class
Scanner input = new Scanner(System.in);
// do...while loop continues
// until entered number is positive
do {
// add only positive numbers
sum += number;
System.out.println("Enter a number");
number = input.nextInt();
} while(number >= 0);
System.out.println("Sum = " + sum);
input.close();
}
}
Salida 1
Enter a number 25 Enter a number 9 Enter a number 5 Enter a number -3 Sum = 39
Aquí, el usuario ingresa un número positivo, ese número se suma a la suma variable. Y este proceso continúa hasta que el número es negativo. Cuando el número es negativo, el ciclo termina y muestra la suma sin sumar el número negativo.
Salida 2
Enter a number -8 Sum is 0
Aquí, el usuario ingresa 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 siempre es true
, el bucle se ejecuta infinitas veces (hasta que la memoria está llena). Por ejemplo,
// infinite while loop
while(true){
// body of loop
}
Aquí hay un ejemplo de un do...while
infinito bucle.
// infinite do...while loop
int count = 1;
do {
// body of loop
} while(count == 1)
En los programas anteriores, textExpression siempre es true
. Por lo tanto, el cuerpo del bucle se ejecutará infinitas veces.
bucles for y while
El for
loop se utiliza cuando se conoce el número de iteraciones. Por ejemplo,
for (let i = 1; i <=5; ++i) {
// body of loop
}
Y while
y do...while
los bucles se utilizan generalmente cuando se desconoce el número de iteraciones. Por ejemplo,
while (condition) {
// body of loop
}
Java
- Variables y literales de Java
- Expresiones, declaraciones y bloques de Java
- Java para cada bucle
- Objetos y clases de Java
- Clase abstracta de Java y métodos abstractos
- Clase interna y anidada de Java
- Java lanza y lanza
- Autoboxing y unboxing de Java
- Diferencia entre while y do-while:explicada con ejemplos
- Programa numérico Palindrome en Java usando while &for Loop
- Java - Objeto y Clases