0Pricing
Java Academy · Lezione

Iterare sui caratteri

Elabori ogni char di una stringa

Iterare sui caratteri è una lezione Java Academy gratuita su CoddyKit. Questa è la lezione 3 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Java Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Java Academy include 4 lezioni in totale.

Le String sono composte da char

Una String è una sequenza di caratteri. Ogni carattere si trova in una posizione chiamata indice, che parte da 0.

In "Java", l'indice 0 corrisponde a 'J', l'indice 1 a 'a' e così via. Un ciclo consente di visitare ogni char nell'ordine.

String word = "Java";
// indexes: 0=J 1=a 2=v 3=a

charAt restituisce un carattere

Il metodo charAt(index) restituisce il char che si trova in una determinata posizione di una String.

Gli indici vanno da 0 a length() - 1. Richiedere un indice al di fuori di questo intervallo genera un errore.

public class Main {
    public static void main(String[] args) {
        String word = "Java";
        System.out.println(word.charAt(0));
        System.out.println(word.charAt(3));
    }
}

Quanto è lunga la String?

Il metodo length() restituisce il numero di caratteri contenuti in una String.

Per "Java" restituisce 4. Poiché gli indici partono da 0, l'ultimo indice valido è sempre length() - 1.

public class Main {
    public static void main(String[] args) {
        String word = "Hello";
        System.out.println(word.length());
    }
}

Usare un indice in un ciclo

Un classico ciclo for fa scorrere l'indice da 0 fino a length() - 1, chiamando ogni volta charAt.

In questo modo dispone sia della posizione sia del carattere, il che è utile quando l'indice è importante.

public class Main {
    public static void main(String[] args) {
        String word = "Java";
        for (int i = 0; i < word.length(); i++) {
            System.out.println(word.charAt(i));
        }
    }
}

Il ciclo for avanzato

Se non ha bisogno dell'indice, converta la String in un array di char con toCharArray() e usi un ciclo for-each.

Il codice risulta chiaro: per ogni char c nella parola, esegua un'azione.

public class Main {
    public static void main(String[] args) {
        String word = "Java";
        for (char c : word.toCharArray()) {
            System.out.println(c);
        }
    }
}

Stampare su una sola riga

Usi System.out.print invece di println per mantenere i caratteri sulla stessa riga.

È utile quando si ricostruisce o si trasforma il testo carattere per carattere.

public class Main {
    public static void main(String[] args) {
        String word = "Java";
        for (char c : word.toCharArray()) {
            System.out.print(c);
        }
        System.out.println();
    }
}

Trasformare ogni char

All'interno del ciclo può modificare ogni char prima di usarlo. Qui convertiamo in maiuscolo ogni lettera man mano che procediamo.

Costruiamo una nuova String perché quella originale non può essere modificata: le String sono immutabili.

public class Main {
    public static void main(String[] args) {
        String word = "java";
        String result = "";
        for (char c : word.toCharArray()) {
            result += Character.toUpperCase(c);
        }
        System.out.println(result);
    }
}

Scorrere all'indietro

Per invertire una String, scorra gli indici dall'ultimo fino a 0 usando charAt.

Imposti i su length() - 1 e lo diminuisca fino a raggiungere 0.

public class Main {
    public static void main(String[] args) {
        String word = "Java";
        for (int i = word.length() - 1; i >= 0; i--) {
            System.out.print(word.charAt(i));
        }
        System.out.println();
    }
}

Fare attenzione ai limiti

Ripeta sempre il ciclo mentre i < word.length(), mai mentre i <= word.length().

Andare oltre la fine chiama charAt con un indice non valido e genera una StringIndexOutOfBoundsException.

String word = "Hi";
// valid indexes: 0 and 1 only
// charAt(2) would crash

Trovare un carattere

Scorra il testo e confronti ogni char con == per trovare quello cercato. Qui restituiamo l'indice del primo 'a'.

Interrompiamo il ciclo in anticipo con break non appena lo troviamo.

public class Main {
    public static void main(String[] args) {
        String word = "Java";
        for (int i = 0; i < word.length(); i++) {
            if (word.charAt(i) == 'a') {
                System.out.println("Found at " + i);
                break;
            }
        }
    }
}

Leggere una String

Scorrere i char è alla base delle attività di ricerca, sostituzione e convalida.

Ogni volta che deve esaminare attentamente un testo, scorrere ogni char con un ciclo è lo strumento standard.

for (char c : "ab".toCharArray()) {
    System.out.println(c);
}

Verifica rapida

Verifichi la sua comprensione dei cicli sui caratteri.

Riepilogo

Usi charAt(i) con un ciclo basato su un indice, oppure toCharArray() con un ciclo for-each, per visitare ogni char.

Esegua il ciclo mentre i < length() per restare nei limiti e costruisca nuove String, poiché le String sono immutabili. Questo schema è alla base della ricerca e della trasformazione del testo.

Domande Frequenti

La lezione «Iterare sui caratteri» è gratuita?

Sì — il testo completo di «Iterare sui caratteri» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Java Academy, passa a CoddyKit PRO. Il corso Java Academy include 4 lezioni in totale.

Cosa imparerò in «Iterare sui caratteri»?

Elabori ogni char di una stringa Eserciti Java Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Java Academy?

Non è richiesta alcuna esperienza precedente. Java Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 3 di 4.

Quanto tempo richiede la lezione «Iterare sui caratteri»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Java Academy?

Sì. Ogni lezione Java Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Il tipo primitivo char
  2. Metodi di supporto per i caratteri
  3. Iterare sui caratteri
  4. Conteggio e filtro dei caratteri
← Torna a Java Academy