Il ciclo for è una delle strutture di controllo più usate in Java e permette di ripetere un blocco di codice un numero definito di volte (guarda anche il for-each).
Viene utilizzato quando conosciamo in anticipo quante volte eseguire il ciclo.
La sintassi di un ciclo for è la seguente:
for (inizializzazione; condizione; incremento/decremento) {
// Blocco di codice eseguito ad ogni iterazione
}- Inizializzazione: Dichiarazione e assegnazione della variabile di controllo del ciclo (es.
int i = 0;). - Condizione: Il ciclo continua finché questa espressione è vera (es.
i < 5;). - Incremento/Decremento: Modifica della variabile di controllo (es.
i++per aumentare di 1).
Ad esempio:
public class ForExample {
public static void main(String[] args) {
for (int i = 1; i <= 5; i++) {
System.out.println("Numero: " + i);
}
}
}
/* Output:
Numero: 1
Numero: 2
Numero: 3
Numero: 4
Numero: 5 */Esiste una variante del for, detta for-each, per scorrere direttamente gli elementi di un array o di una collezione:
for (TipoVariabile nomeVariabile : arrayOCollezione) {
// Blocco di codice eseguito per ogni elemento
}TipoVariabile→ Il tipo degli elementi nell’array o nella collezione.nomeVariabile→ Il nome della variabile temporanea che assume il valore di ogni elemento.arrayOCollezione→ L’array o la collezione su cui iterare.
Ad esempio:
public class ForEachExample {
public static void main(String[] args) {
int[] numeri = {10, 20, 30, 40, 50};
for (int numero : numeri) { // Scorre gli elementi direttamente
System.out.println("Numero: " + numero);
}
}
}
/* Output:
Numero: 10
Numero: 20
Numero: 30
Numero: 40
Numero: 50 */L’istruzione break interrompe il ciclo in base a una condizione.
public class ForBreakExample {
public static void main(String[] args) {
for (int i = 1; i <= 10; i++) {
if (i == 5) {
System.out.println("Interruzione del ciclo");
break; // Esce dal ciclo quando i è 5
}
System.out.println("Numero: " + i);
}
}
}
/* Output:
Numero: 1
Numero: 2
Numero: 3
Numero: 4
Interruzione del ciclo */L’istruzione continue salta un’iterazione del ciclo.
public class ForContinueExample {
public static void main(String[] args) {
for (int i = 1; i <= 5; i++) {
if (i == 3) {
System.out.println("Salto il numero 3");
continue; // Salta questa iterazione
}
System.out.println("Numero: " + i);
}
}
}
/* Output:
Numero: 1
Numero: 2
Salto il numero 3
Numero: 4
Numero: 5 */Possiamo usare cicli for annidati.
Ad esempio:
public class ForNestedExample {
public static void main(String[] args) {
for (int i = 1; i <= 3; i++) { // Ciclo esterno
for (int j = 1; j <= 2; j++) { // Ciclo interno
System.out.println("i: " + i + ", j: " + j);
}
}
}
}
/* Output:
i: 1, j: 1
i: 1, j: 2
i: 2, j: 1
i: 2, j: 2
i: 3, j: 1
i: 3, j: 2 */