Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara For-Loop in Dart | Cicli in Dart
Introduzione a Dart

bookFor-Loop in Dart

Scorri per mostrare il menu

Un ciclo for ripete un determinato blocco di codice più volte. Ad esempio, se si desidera controllare il voto di ogni studente in una classe di 32 studenti, si esegue un ciclo da 1 a 32.

Il ciclo for viene utilizzato per ripetere una sezione di codice un numero noto di volte.

Alcuni esempi:

  • Calcolo dell'età media degli studenti della scuola. Anche se tu (il programmatore) potresti non sapere quanti studenti ci sono nella scuola, il computer può farlo. Dart lo realizza utilizzando la proprietà length su una List;
  • Stampa dei numeri pari da 1 a 500;
  • Ricerca in una List di numeri, come trovare il punteggio più alto in un test. Anche in questo caso, il computer sa quanti voti ci sono nella List, quindi un ciclo for è appropriato.

Sintassi dei For-Loop

Vediamo la sintassi del ciclo for utilizzando il seguente esempio di codice:

for (Initialization; Condition; Increment/Decrement) {
  // Сode block
}

Il ciclo for in Dart è composto da tre parti:

  • Inizializzazione: l'inizializzazione della variabile controllerà il numero di iterazioni del ciclo. In questo caso, inizializziamo la variabile con il nome i e con il valore 0;

  • Condizione: questa è la condizione che determina se continuare a iterare il ciclo. In questo caso, si verifica se il valore i è minore di 5;

  • Incremento o Decremento sono le operazioni eseguite sul contatore alla fine di ogni iterazione del ciclo.

Ciascuna di queste istruzioni nel ciclo for è separata da un punto e virgola ;.

Esempio

In questo esempio, utilizziamo un ciclo for per stampare un messaggio sulla console cinque volte. Ecco come funziona:

main.dart

main.dart

copy
12345
void main() { for (int day = 1; day <= 7; day++) { print("Day $day: Time to exercise!"); } }

Immagina di creare un semplice promemoria per l'allenamento. Questo codice stampa un messaggio per ogni giorno, ricordandoti di fare esercizio.

  • int day = 1: inizializza la variabile day con 1 (che rappresenta il primo giorno di allenamento);
  • day <= 7: mantiene il ciclo attivo finché day è minore o uguale a 7 (una settimana completa);
  • day++: incrementa day di 1 dopo ogni promemoria;
  • print("Day $day: Time to exercise!"): stampa "Day 1: Time to exercise!", "Day 2: Time to exercise!" e così via fino al giorno 7.

Sintassi dei cicli For-In

Ecco come funziona il ciclo for-in in Dart, suddiviso in una struttura semplice:

for (Type variable in collection) {
  // Code to execute for each item
}
  • for: parola chiave che avvia il ciclo;
  • (Type variable in collection): struttura del ciclo:
    • Type: tipo di dato di ogni elemento nella collezione (ad esempio, String, int);
    • variable: variabile temporanea che contiene l'elemento corrente;
    • in collection: la collezione (lista) su cui il ciclo itera;
  • {}: corpo del ciclo, che contiene il codice eseguito per ogni elemento.

Il ciclo for consente di lavorare comodamente con le liste.

Esempio

Vediamo un esempio:

main.dart

main.dart

copy
123456
void main() { List<String> fruits = ["apple", "banana", "orange"]; for (String fruit in fruits) { print(fruit); } }

Questo codice definisce una lista di stringhe che rappresentano diversi fruits: "apple", "banana" e "orange". La lista è memorizzata nella variabile fruits.

for (String fruit in fruits) {

Si utilizza un ciclo for-in per scorrere ogni elemento nella lista fruits. Questo ciclo recupera automaticamente ogni frutto uno alla volta e lo assegna alla variabile fruit. Qui, fruit contiene il valore del frutto corrente durante ogni iterazione.

print(fruit); 

All'interno del ciclo, il fruit corrente viene stampato sulla console. Il ciclo passa quindi al frutto successivo e ripete il processo fino a quando tutti gli elementi della lista sono stati stampati.

Questo approccio è utile quando si lavora con le liste, ad esempio per visualizzare una lista della spesa o elaborare elementi selezionati dall'utente.

Viene fornito un elenco di nomi di prodotti. L'obiettivo è completare la condizione all'interno del ciclo in modo che vengano stampati solo i prodotti che contengono la lettera "o".

  1. Completare la condizione if all'interno del ciclo per verificare se il nome del prodotto contiene la lettera "o".
  2. Assicurarsi che vengano stampati solo i prodotti che contengono "o" (maiuscola o minuscola).
  3. Output atteso:
Laptop
Headphones
Mouse
Keyboard
Monitor
main.dart

main.dart

copy
12345678910111213141516
void main() { List<String> products = [ "Laptop", "Headphones", "Mouse", "Keyboard", "USB Cable", "Monitor" ]; for (String product in products) { if (___) { // Complete the condition print(product); } } }

Utilizzare .contains("o") per verificare se la stringa contiene la lettera "o".

main.dart

main.dart

copy
12345678910111213141516
void main() { List<String> products = [ "Laptop", "Headphones", "Mouse", "Keyboard", "USB Cable", "Monitor" ]; for (String product in products) { if (product.toLowerCase().contains("o")) { // Check if "o" is in the product name print(product); } } }
Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 4. Capitolo 4

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

Sezione 4. Capitolo 4
some-alt