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.


2
Compito
Java Syntax,  livello 6lezione 5
Bloccato
Cat's finalize method
It's difficult to accidentally lose an object: as long as you have even one reference to an object, it remains alive. But if not, then the object is approached by the finalize method, an unpredictable assassin that works for the Java machine. Let's create this method ourselves: protected void finalize() throws Throwable. The last two words will become clear a little later.