1. Ciclo inverso

Java ha un altro tipo di whileciclo: il do-whileciclo. È molto simile al whileloop ordinario e consiste anch'esso di sole due parti: una "condizione" e un "corpo del loop". Il corpo del ciclo viene eseguito più e più volte finché la condizione è true. In generale, un do-whileciclo ha questo aspetto:

do
   statement;
while (condition);

O

do
{
   block of statements
}
while (condition);

Per un whileciclo, la sequenza di esecuzione è: condizione , corpo del ciclo , condizione , corpo del ciclo , condizione , corpo del ciclo , ...

Ma per un do-whileloop, è leggermente diverso: loop body , condition , loop body , condition , loop body , ...

In effetti, l'unica differenza tra un whileciclo e do-whileun ciclo è il fatto che il corpo del ciclo viene eseguito almeno una volta per un do-whileciclo.


2. Vantaggi dell'utilizzo di un do-whileloop

Fondamentalmente, l'unica differenza tra un do-whileciclo e un whileciclo è che il corpo di un do-whileciclo viene eseguito almeno una volta.

In genere, un do-whileciclo viene utilizzato quando non ha senso verificare la condizione del ciclo se il corpo del ciclo non è stato eseguito. Ad esempio, se determinati calcoli vengono eseguiti nel corpo del ciclo e quindi utilizzati nella condizione .

Esempio:

Il programma legge le righe dalla tastiera finché exitnon viene inserita la parola

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

Le istruzioni breakand continuein un do-whileciclo funzionano allo stesso modo di un whileciclo.


3. Confronto tra do-whileloop: Java vs Pascal

Ancora una volta, Pascal ha un analogo del do-whileloop, ma si chiama repeat-untilloop. Inoltre, è leggermente diverso dal do-whileloop. In un repeat-untilciclo, la condizione indica quando uscire dal ciclo piuttosto che quando continuarlo.

Esempi:

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

Rispetto a Java, il modo in cui Pascal lo rappresenta è decisamente bello. Dobbiamo iniziare con gli esempi di Pascal, altrimenti riderete.