CodeGym /Cursos /JAVA 25 SELF /Bucle do-while: introducción y matices de uso

Bucle do-while: introducción y matices de uso

JAVA 25 SELF
Nivel 4 , Lección 3
Disponible

1. Introducción al bucle do-while

Imagina que estás escribiendo un programa que adivina el número pensado por el usuario. Hay que pedir el número al menos una vez y repetir la petición hasta acertarlo. Si compruebas la condición por adelantado, un while normal puede no entrar en el bucle en absoluto.

Aquí es donde ayuda do-while. A diferencia de while, siempre ejecutará el cuerpo del bucle al menos una vez — incluso si la condición es falsa desde el principio. Es como recibir un chicle en la caja, independientemente de la compra.

Sintaxis de do-while

Todo es sencillo: un «par» más de palabras clave en Java.


do
{
    // Cuerpo del bucle: este código se ejecutará al menos una vez
}
while (condition);
Sintaxis del bucle do-while

¡Presta atención al punto y coma ; al final después del paréntesis de la condición! En un while normal no está, y aquí sí — una trampa clásica para principiantes.

Descripción de los pasos del bucle do-while

  1. Entrada al cuerpo del bucle (siempre al menos una vez).
  2. Comprobación de la condición.
  3. Si la condición es verdadera — repetir el cuerpo.
  4. Si la condición es falsa — salir del bucle.

2. Diferencia con el while normal

Recordemos el escenario básico de trabajo de un while normal:

while (condition)
{
    // Cuerpo del bucle
}

¡El cuerpo no se ejecutará ni una vez si la condición es falsa desde el principio!

Ahora, un ejemplo con do-while:

do
{
    // Cuerpo del bucle
}
while (condition);

¡El cuerpo del bucle se ejecutará al menos una vez, incluso si la condición es falsa desde el inicio!

Ilustremos la diferencia con código:

// while normal
int count = 0;
while (count > 0)
{
    System.out.println("count = " + count);
    count--;
}
// No se imprimirá nada

// do-while
int count2 = 0;
do
{
    System.out.println("count2 = " + count2);
    count2--;
}
while (count2 > 0);
// Imprimirá "count2 = 0", aunque la condición sea falsa

A veces esto parece una «rareza», pero es exactamente el comportamiento que se necesita con la entrada del usuario y la validación de datos.

3. Escenarios prácticos de uso de do-while

¿Dónde aparece este bucle con más frecuencia?

Validación de datos

Un escenario habitual: pedimos al usuario que introduzca datos correctos (por ejemplo, una contraseña de al menos 6 caracteres) y repetimos la solicitud hasta que todo sea correcto.

String password;
do
{
    System.out.print("Introduce una nueva contraseña (mínimo 6 caracteres): ");
    password = console.nextLine();
}
while (password.length() < 6);

System.out.println("¡Contraseña aceptada!");

El cuerpo del bucle se ejecutará al menos una vez — incluso si el usuario introduce una contraseña larga de inmediato.

Menús en aplicaciones de consola

Un patrón frecuente: mostrar el menú, esperar un comando y salir solo mediante un comando específico.

String command;
do
{
    System.out.println("Menú:");
    System.out.println("1. Mostrar un saludo");
    System.out.println("2. Salir");
    System.out.print("Elige una acción: ");
    command = console.nextLine();

    if (command.equals("1")) 
    {
        System.out.println("¡Hola, mundo!");
    }
    else if (!command.equals("2"))
    {
        System.out.println("Comando desconocido.");
    }
}
while (!command.equals("2"));

System.out.println("¡Adiós!");

4. Tabla: comparación entre while y otros bucles

Tipo de bucle Comprobación de la condición Cuántas veces puede ejecutarse el cuerpo Cuándo es apropiado
while
Antes 0 o más veces Cuando se desconoce de antemano el número de repeticiones
do-while
Después 1 o más veces Cuando es importante ejecutar el cuerpo al menos una vez
for
Antes 0 o más veces Cuando se conoce el número de iteraciones
1
Tarea
JAVA 25 SELF, nivel 4, lección 3
Bloqueada
Primera carga del juego 🎮
Primera carga del juego 🎮
1
Tarea
JAVA 25 SELF, nivel 4, lección 3
Bloqueada
Introducción del PIN 💳
Introducción del PIN 💳
1
Tarea
JAVA 25 SELF, nivel 4, lección 3
Bloqueada
Terminal interactivo 💻
Terminal interactivo 💻
1
Tarea
JAVA 25 SELF, nivel 4, lección 3
Bloqueada
Registro de nueva cuenta 🔒
Registro de nueva cuenta 🔒
Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION