Cicli for

Java intermedio

Jim White

Java Developer

Cicli

  • Permettono di ripetere un'azione più volte
  • Il più comune in Java: for
    • Si usa quando sappiamo in anticipo quante ripetizioni vogliamo

Immagine di tre frecce che formano un cerchio

Java intermedio

Sintassi del for

for (int i = 0; i < 5; i++) {

  // Do something

}
  • i: iteratore
  • int i = 0: inizia con i uguale a 0
  • i < 5: continua finché i è minore di 5
  • i++: aumenta i di 1 a ogni giro
  • iterabile: cosa su cui cicliamo
    • es. String o array
Java intermedio

Esempio di for

for (int i = 0; i < 5; i++) {
  System.out.println("Hello".charAt(i));
}  
H

e
l l o
  • i è l'iteratore
  • "Hello" è l'iterabile
Java intermedio

for su un array

// Itera l'array e stampa ogni elemento
int[] num = {1, 2, 3, 4, 5};

for (int i = 0; i < num.length; i++) {
    System.out.println(num[i]);
}
1
2
3
4
5
Java intermedio

Aggiungere a un array in un ciclo

// Itera sull'array 
// e aggiungi i a ogni elemento
int[] num = {1, 2, 3, 4, 5};

for (int i = 0; i < num.length; i++) {
    System.out.println("Vecchio: " + num[i]);
    num[i] += i;
    System.out.println("Nuovo: " + num[i]);
}
Vecchio: 1
Nuovo: 1
Vecchio: 2
Nuovo: 3
Vecchio: 3
Nuovo: 5
Vecchio: 4
Nuovo: 7
Vecchio: 5
Nuovo: 9
Java intermedio

Loop infiniti

  • Cause:
    • Iteratore non aggiornato
    • Condizione di stop errata
    • ...
  • Evita i loop infiniti!
    • Bloccano o mandano in crash il programma

Esempi

// i è sempre maggiore di 3
for (int i = 3; i > 2; i = i + 1) { 
  System.out.println("Per sempre...");
}
// i non viene aggiornato
for (int i = 0; i < 10; i = i - 0) {
  System.out.println("E ancora...");
Java intermedio

break

  • Serve per uscire prima dal ciclo
  • Non è buona pratica: usalo con criterio
    • Di solito è meglio while
for (int i = 0; i < 5; i++) {
  System.out.println(i);
  if (i == 1) {
    break; // Interrompe il ciclo quando i è 1
  }
}
0
1
Java intermedio
// Esempio di ciclo for
// Incluso l'uso di break
String word = "Hey";

for (int i = 0; i < word.length(); i++){
  System.out.println(word.charAt(i));
  if (i == 2) {
    System.out.println("!");
    break;
  }
  System.out.println("-");
}
  • i: iteratore
  • word: iterabile
  • Il for gira per un numero noto di iterazioni
    • Parte da 0 fino alla fine di word
    • A meno che si usi break
H
-
e
-
y
!
Java intermedio

Ayo berlatih!

Java intermedio

Preparing Video For Download...