
Las estructuras de control while y do-while son bucles, es decir, permiten repetir un bloque de código varias veces. La diferencia principal radica en cuándo se verifica la condición para seguir repitiendo.
Bucle While: Primero la Condición, Luego la Acción
El bucle while evalúa la condición antes de ejecutar el código dentro del bucle. Si la condición es falsa desde el principio, el código nunca se ejecuta. Piénsalo como preguntar: "¿Debo hacer esto?" antes de hacerlo.
Ejemplo: Imaginemos que queremos imprimir números del 1 al 5, siempre y cuando un contador sea menor o igual a 5. Usando while:
Must Read
int contador = 1;
while (contador <= 5) {
System.out.println(contador);
contador++;
}
Este código funciona porque `contador` inicia en 1, la condición `contador <= 5` es verdadera, y por lo tanto se imprime 1 y se incrementa `contador`. Esto se repite hasta que `contador` es 6, momento en el que la condición se vuelve falsa y el bucle termina.
Pero, ¿qué pasa si `contador` inicia en 6? El código dentro del while nunca se ejecutaría.

Bucle Do-While: Primero la Acción, Luego la Condición
El bucle do-while, por otro lado, evalúa la condición después de ejecutar el código al menos una vez. Es como hacer algo y después preguntar: "¿Debo hacerlo de nuevo?". Garantiza que el código dentro del bucle se ejecute como mínimo una vez.
Ejemplo: Usando el mismo ejemplo de imprimir números, pero ahora con do-while:

int contador = 1;
do {
System.out.println(contador);
contador++;
} while (contador <= 5);
Aquí, incluso si `contador` iniciara en 6, el código `System.out.println(contador);` se ejecutaría una vez, imprimiendo 6, y luego `contador` se incrementaría a 7. Solo entonces se verificaría la condición `contador <= 5`, que sería falsa, terminando el bucle.
En Resumen: La Clave está en el Orden
La diferencia clave entre while y do-while es cuándo se verifica la condición:

- While: Condición -> Código (posiblemente cero ejecuciones)
- Do-While: Código -> Condición (al menos una ejecución)
Usa while cuando no estés seguro de si el código dentro del bucle debe ejecutarse. Usa do-while cuando necesites que el código se ejecute al menos una vez, independientemente de la condición inicial.
El bucle do-while es útil, por ejemplo, para menús interactivos donde quieres mostrar el menú al usuario al menos una vez, y luego preguntar si quiere volver a verlo.