Java Academy · Les

Itereren over tekens

Verwerk elk char in een tekenreeks.

Les 3 van 413 stappen

Itereren over tekens is een gratis Java Academy-les op CoddyKit. Dit is les 3 van 4. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Java Academy. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Java Academy bevat in totaal 4 lessen.

String-objecten bestaan uit chars

Een String is een reeks tekens. Elk teken staat op een positie die een index wordt genoemd en begint bij 0.

In "Java" is index 0 'J', index 1 'a' enzovoort. Met een lus kun je elk char in volgorde bezoeken.

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

charAt haalt één teken op

De methode charAt(index) geeft de char op een bepaalde positie in een String terug.

Indexen lopen van 0 tot length() - 1. Als je om een index buiten dat bereik vraagt, ontstaat er een fout.

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

Hoe lang is de String?

De methode length() geeft terug hoeveel tekens een String bevat.

Voor "Java" geeft de methode 4 terug. Omdat indexen bij 0 beginnen, is de laatste geldige index altijd length() - 1.

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

Lussen met een index

Een klassieke for-lus laat de index van 0 oplopen tot en met length() - 1 en roept elke keer charAt aan.

Zo krijg je zowel de positie als het teken, wat handig is wanneer de index belangrijk is.

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));
        }
    }
}

De uitgebreide for-lus

Als je de index niet nodig hebt, converteer je de String met toCharArray() naar een char-array en gebruik je een for-each-lus.

Dit leest duidelijk: doe iets voor elke char c in het woord.

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

Op één regel afdrukken

Gebruik System.out.print in plaats van println om tekens op dezelfde regel te houden.

Dit is handig wanneer je tekst teken voor teken opnieuw opbouwt of omzet.

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

Elke char transformeren

Binnen de lus kun je elke char wijzigen voordat je deze gebruikt. Hier maken we elke letter hoofdletter terwijl we door de tekst lopen.

We bouwen een nieuwe String, omdat de oorspronkelijke String niet kan worden gewijzigd: Strings zijn onveranderlijk.

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);
    }
}

Achteruit door een String lussen

Om een String om te keren, lus je met charAt van de laatste index terug naar 0.

Start i op length() - 1 en verlaag de waarde totdat deze 0 bereikt.

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();
    }
}

Let op de grenzen

Lus altijd zolang i < word.length(), nooit zolang i <= word.length().

Als je één positie voorbij het einde gaat, roep je charAt aan met een ongeldige index en ontstaat er een StringIndexOutOfBoundsException.

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

Een teken vinden

Loop door de tekst en vergelijk elke char met == om een doelteken te vinden. Hier geven we de index van de eerste 'a' terug.

We stoppen vroeg met break zodra we het teken hebben gevonden.

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;
            }
        }
    }
}

Een String uitlezen

Door chars te doorlopen leg je de basis voor zoek-, vervangings- en validatietaken.

Wanneer je tekst nauwkeurig moet bekijken, is elk char met een lus doorlopen het gebruikelijke hulpmiddel.

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

Korte controle

Test je begrip van lussen over tekens.

Samenvatting

Gebruik charAt(i) met een indexlus of toCharArray() met een for-each-lus om elke char te bezoeken.

Lus zolang i < length() om binnen de grenzen te blijven en bouw nieuwe Strings, omdat Strings onveranderlijk zijn. Dit patroon vormt de basis voor het doorzoeken en transformeren van tekst.

Gratis beginnen

Leer Java met een AI-tutor — gratis

Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.

Cursussen
104
Lessen
374

Veelgestelde vragen

Is de les “Itereren over tekens” gratis?

Ja — de volledige tekst van “Itereren over tekens” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus Java Academy wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus Java Academy bevat in totaal 4 lessen.

Wat leer ik in “Itereren over tekens”?

Verwerk elk char in een tekenreeks. Je oefent met Java Academy door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.

Heb ik ervaring nodig om met Java Academy te beginnen?

Ervaring vooraf is niet nodig. Java Academy op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 3 van 4.

Hoe lang duurt de les “Itereren over tekens”?

De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.

Kan ik code schrijven en uitvoeren in deze les over Java Academy?

Ja. Elke les over Java Academy bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.

Alle lessen in deze cursus

  1. Het primitieve type char
  2. Hulpmethoden voor tekens
  3. Itereren over tekens
  4. Tekens tellen en filteren
← Terug naar Java Academy