JAVA

Ciclo While Do

Ciclo while in Java: sintassi, controllo della condizione e gestione dei loop infiniti. Esercitazione su contatori e accumulatori.

Durata

30 minuti

Software

OnlineGDB

Linguaggio

JAVA

Il ciclo while (mentre) è una struttura iterativa che permette di eseguire ripetutamente un blocco di codice fino a quando una specifica condizione risulta vera.

[Image of while loop flow chart]

1.1 Sintassi e Funzionamento

A differenza dell'istruzione if, che esegue il codice una sola volta, il while torna a controllare la condizione dopo ogni esecuzione del blocco.


while (condizione) {
    // Istruzioni da ripetere
    // IMPORTANTE: Aggiornare la condizione!
}

1.2 I tre elementi fondamentali

Perché un ciclo funzioni correttamente e non diventi un loop infinito (mandando in blocco il computer), servono tre passaggi:

  • Inizializzazione: Creare una variabile di controllo prima del ciclo.
  • Condizione: Definire quando il ciclo deve fermarsi.
  • Aggiornamento: Modificare la variabile di controllo all'interno del ciclo (es. incremento ++).
Componente Esempio Rischio
Inizializzazioneint i = 0;Variabile non dichiarata
Condizionewhile (i < 10)Condizione sempre vera (Loop infinito)
Aggiornamentoi++;Dimenticanza (Il ciclo non finisce mai)

LABORATORIO

Contatori e Validazione Dati

Utilizzeremo il ciclo while per creare un conto alla rovescia e per obbligare l'utente a inserire dati corretti.


1 Il Conto alla Rovescia

Scriviamo un programma che parta da un numero scelto dall'utente e arrivi a zero.


import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        System.out.print("Da che numero vuoi partire? ");
        int n = in.nextInt();

        while (n >= 0) {
            System.out.println("T-minus: " + n);
            n--; // Decremento: fondamentale per finire il ciclo!
        }
        
        System.out.println("Lancio completato!");
        in.close();
    }
}

2 Esercitazione Guidata: Validazione Input

Il while è perfetto per impedire all'utente di proseguire se inserisce dati sbagliati. Ad esempio, chiediamo un voto finché non è compreso tra 1 e 10.


int voto = -1; // Inizializzazione fuori dal range

while (voto < 1 || voto > 10) {
    System.out.print("Inserisci un voto valido (1-10): ");
    voto = in.nextInt();
    
    if (voto < 1 || voto > 10) {
        System.out.println("Errore! Riprova.");
    }
}
System.out.println("Hai inserito un voto corretto: " + voto);

3 Esercizio: Inventario Magazzino

Scenario: Un addetto al magazzino deve scaricare dei pacchi da un camion.

  • Chiedete il numero totale di pacchi presenti sul camion (es: 10).
  • Usate un ciclo while per simulare lo scarico di un pacco alla volta.
  • Ad ogni ciclo, stampate: "Scarico pacco numero X... ne mancano Y".
  • Il ciclo termina quando non ci sono più pacchi.





Java, Iterazione, While Loop, Programmazione, Informatica,