Para la declaración while, si no se cumple la condición, no se puede ingresar al bucle. Pero a veces necesitamos ejecutarlo al menos una vez incluso si no se cumplen las condiciones.
El bucle do... while es similar al bucle while, excepto que el bucle do... while se ejecutará al menos una vez.
do { // declaración de código} while (expresión booleana);
La instrucción de bucle do.. while también se denomina instrucción de bucle posterior a la prueba. Su método de ejecución repetitiva de bucle también utiliza una condición para controlar si la instrucción continúa ejecutándose repetidamente. La diferencia con el bucle while es que primero ejecuta la instrucción del bucle una vez y luego determina si continúa la ejecución. Por ejemplo, para calcular la suma de todos los números enteros entre 1 y 100, también puede utilizar la instrucción de bucle do... while. El código específico es el siguiente:
int sum=0;int i=1;do{sum+=i;i++;} while (i<=100);System.out.println("La suma de todos los números enteros entre 1 y 100 es: "+sum);
El proceso de ejecución de la instrucción del bucle do... while es: primero ejecute el cuerpo del bucle una vez y luego juzgue la expresión condicional. Si el valor de la expresión condicional es verdadero, continúe la ejecución; de lo contrario, salga del bucle. En otras palabras, el cuerpo del bucle en la instrucción del bucle do... while se ejecuta al menos una vez.
Nota: La expresión booleana está después del cuerpo del bucle, por lo que el bloque de instrucciones se ejecutó antes de que se detecte la expresión booleana. Si la expresión booleana se evalúa como verdadera, el bloque de instrucciones se ejecuta hasta que la expresión booleana se evalúa como falsa.
Ejemplo
prueba de clase pública { public static void main(String args[]){ int x = 10; do{ System.out.print("valor de x: " + x++; }mientras( x < 20 }}
Los resultados de compilación y ejecución del ejemplo anterior son los siguientes:
valor de x : 10valor de x : 11valor de x : 12valor de x : 13valor de x : 14valor de x : 15valor de x : 16valor de x : 17valor de x : 18valor de x : 19