Java/Strutture di controllo: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica
Nessun oggetto della modifica
Riga 99:
System.out.println("i vale "+i);
i++;
}
</source>
Riga 107:
while (true) {
// istruzioni da eseguire
}
</source>
 
Riga 115:
do {
// istruzioni da eseguire
} while (condizione);
</source>
 
Riga 124:
do {
System.out.println("condizione vale "+condizione);
} while (condizione);
</source>
 
Riga 141:
* terminazione: è la '''condizione di terminazione'''; viene valutata ad ogni iterazione
* passo: è l'incremento (o decremento) delle variabili di controllo; viene eseguito ad ogni iterazione
 
Un classico ciclo '''while''':
 
<source lang=java>
int i = 1;
while (i < 11) {
System.out.println("i vale "+i);
i++;
}
</source>
 
implementato con un ciclo '''for''' diventa:
 
<source lang=java>
for (int i = 1; i < 11; i++) {
System.out.println("i vale "+i);
}
</source>
 
Tutte e tre le espressioni del ciclo sono opzionali, omettendole tutte abbiamo un ciclo infinito
 
<source lang=java>
for ( ; ; ) {
// istruzioni da eseguire
}
</source>
 
Abbiamo parlato di variabili di controllo perché esse possono essere più di una:
 
<source lang=java>
for (int i = 0, y = 20; i < 10 && y > 16; i = i + 2, y--) {
System.out.println("il valore di i è: " + i + " il valore di y è: " + y);
}
</source>
 
Eseguendo l'esempio sopra avremmo il seguente output:
 
<source lang=java>
il valore di i è: 0 il valore di y è: 20
il valore di i è: 2 il valore di y è: 19
il valore di i è: 4 il valore di y è: 18
il valore di i è: 6 il valore di y è: 17
</source>
 
in quanto la '''condizione di terminazione''' restituisce '''true''' con i < 10 '''e''' y > 16, ma alla quinta iterazione y = 16 e restituisce '''false''' terminando il ciclo.<br />
A partire dalla versione 1.5 il ciclo '''for''' è disponibile anche in una forma più compatta, chiamata '''enhanced for''' utilizzabile per iterare con '''Collections''' ed '''arrays'''
 
<source lang=java>
for (tipo_contenuto_in_collezione elemento : collezione) {
System.out.println(elemento);
}
</source>
 
Vediamo un esempio con un array di interi
 
<source lang=java>
Integer[] numeri = {1,2,3,4,5,6,7,8,9,10};
for (Integer numero : numeri) {
System.out.println("Numero : " + numero);
}
</source>