1. Bucle inverso

Java tiene otro tipo de whilebucle: el do-whilebucle. Es muy similar al whileciclo ordinario y también consta de solo dos partes: una "condición" y un "cuerpo del ciclo". El cuerpo del bucle se ejecuta una y otra vez mientras la condición sea true. En general, un do-whilebucle se ve así:

do
   statement;
while (condition);

o

do
{
   block of statements
}
while (condition);

Para un whilebucle, la secuencia de ejecución es: condición , cuerpo del bucle , condición , cuerpo del bucle , condición , cuerpo del bucle , ...

Pero para un do-whilebucle, es ligeramente diferente: cuerpo del bucle , condición , cuerpo del bucle , condición , cuerpo del bucle ,...

De hecho, la única diferencia entre un whilebucle y do-whileun bucle es el hecho de que el cuerpo del bucle se ejecuta al menos una vez por do-whilebucle.


2. Beneficios de usar un do-whilebucle

Básicamente, la única diferencia entre un do-whilebucle y un whilebucle es que el cuerpo de un do-whilebucle se ejecuta al menos una vez.

Generalmente, un do-whileciclo se usa cuando no tiene sentido verificar la condición del ciclo si el cuerpo del ciclo no se ha ejecutado. Por ejemplo, si ciertos cálculos se realizan en el cuerpo del ciclo y luego se usan en la condición .

Ejemplo:

El programa lee líneas del teclado hasta que exitse ingresa la palabra

mientras hacer mientras
String s;
while (true)
{
   s = console.nextLine();
   if (s.equals("exit"))
      break;
}
String s;
do
{
   s = console.nextLine();
}
while (!s.equals("exit"));

Las declaraciones breaky en un ciclo funcionan de la misma manera que en un ciclo.continuedo-whilewhile


3. Comparación do-whilede bucles: Java vs Pascal

Una vez más, Pascal tiene un análogo del do-whilebucle, pero se llama repeat-untilbucle. Además, es ligeramente diferente del do-whilebucle. En un repeat-untilbucle, la condición indica cuándo salir del bucle en lugar de cuándo continuarlo.

Ejemplos:

Pascal Java
Repeat
   ReadLn(s);
Until s = 'exit';
String s;
do {
   s = console.nextLine();
}
while ( !s.equals("exit") );

Comparado con Java, la forma en que Pascal representa esto es francamente hermosa. Tenemos que empezar con ejemplos de Pascal, de lo contrario te reirás.


8
Tarea
Módulo 1. Java Syntax,  nivel 8lección 0
Bloqueada
Tabla de multiplicación
task0509