Tekens tellen en filteren
Praktische taken met char.
Tekens tellen en filteren is een gratis Java Academy-les op CoddyKit. Dit is les 4 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.
Tellen met een lus
Houd om tekens te tellen een teller in een variabele bij en tel telkens 1 op wanneer aan een voorwaarde wordt voldaan.
Start de teller op 0, loop door elke char en verhoog de teller wanneer de char aan je controle voldoet.
int count = 0;
for (char c : "hello".toCharArray()) {
count++;
}Klinkers tellen
Hier tellen we klinkers door elk teken te vergelijken met de verzameling klinkers.
We zetten het teken eerst om naar kleine letters, zodat zowel 'A' als 'a' op dezelfde manier wordt meegeteld.
public class Main {
public static void main(String[] args) {
String text = "Java Rocks";
int vowels = 0;
for (char c : text.toCharArray()) {
char low = Character.toLowerCase(c);
if (low == 'a' || low == 'e' || low == 'i' || low == 'o' || low == 'u') {
vowels++;
}
}
System.out.println(vowels);
}
}Cijfers tellen
Gebruik Character.isDigit in de lus om te tellen hoeveel cijfers in een String voorkomen.
Letters en symbolen worden automatisch overgeslagen, zodat je teller alleen voor getallen toeneemt.
public class Main {
public static void main(String[] args) {
String text = "abc123x9";
int digits = 0;
for (char c : text.toCharArray()) {
if (Character.isDigit(c)) digits++;
}
System.out.println(digits);
}
}Letters tellen
Vervang dit door Character.isLetter om in plaats daarvan alfabetische tekens te tellen.
De structuur blijft hetzelfde: lus, test en verhoging. Alleen de voorwaarde verandert.
public class Main {
public static void main(String[] args) {
String text = "a1 b2 c3";
int letters = 0;
for (char c : text.toCharArray()) {
if (Character.isLetter(c)) letters++;
}
System.out.println(letters);
}
}Een specifiek teken tellen
Vergelijk elk teken met == om één specifiek teken te tellen.
Hiermee tel je hoe vaak de letter 'a' in de tekst voorkomt.
public class Main {
public static void main(String[] args) {
String text = "banana";
int aCount = 0;
for (char c : text.toCharArray()) {
if (c == 'a') aCount++;
}
System.out.println(aCount);
}
}Tekens filteren
Filteren betekent dat je een nieuwe String opbouwt waarin alleen de gewenste tekens blijven staan.
Hier behouden we letters en cijfers en verwijderen we spaties en leestekens door ze aan een resultaat-String toe te voegen.
public class Main {
public static void main(String[] args) {
String text = "a-b 1!2";
String clean = "";
for (char c : text.toCharArray()) {
if (Character.isLetterOrDigit(c)) clean += c;
}
System.out.println(clean);
}
}StringBuilder gebruiken
Een String opbouwen met += in een lange lus is langzaam, omdat elke stap een nieuwe String maakt.
StringBuilder is sneller: voeg tekens toe en roep aan het einde toString() aan.
public class Main {
public static void main(String[] args) {
String text = "H e l l o";
StringBuilder sb = new StringBuilder();
for (char c : text.toCharArray()) {
if (!Character.isWhitespace(c)) sb.append(c);
}
System.out.println(sb.toString());
}
}Witruimte verwijderen
Een veelgebruikt filter verwijdert spaties, tabs en regeleinden met Character.isWhitespace.
Behoud elk teken dat geen witruimte is om de tekst aaneen te schrijven.
public class Main {
public static void main(String[] args) {
String text = " J a v a ";
StringBuilder sb = new StringBuilder();
for (char c : text.toCharArray()) {
if (!Character.isWhitespace(c)) sb.append(c);
}
System.out.println(sb.toString());
}
}Eerst filteren, dan tellen
Je kunt ideeën combineren: filter naar een schone String en meet daarna de lengte.
Hier tellen we alleen de letters door te filteren en length() uit te lezen.
public class Main {
public static void main(String[] args) {
String text = "a1b2c3";
StringBuilder sb = new StringBuilder();
for (char c : text.toCharArray()) {
if (Character.isLetter(c)) sb.append(c);
}
System.out.println(sb.length());
}
}Hoofdletters en kleine letters tellen
Je kunt meerdere tellers tegelijk bijhouden. Hier tellen we hoofdletters en kleine letters afzonderlijk.
Elk teken doorloopt twee onafhankelijke controles, waardoor de passende teller toeneemt.
public class Main {
public static void main(String[] args) {
String text = "JavaCode";
int upper = 0, lower = 0;
for (char c : text.toCharArray()) {
if (Character.isUpperCase(c)) upper++;
if (Character.isLowerCase(c)) lower++;
}
System.out.println(upper + " " + lower);
}
}Waarom filteren belangrijk is
Tellen en filteren zijn alledaagse taken: wachtwoorden controleren, invoer van gebruikers opschonen of tekentypen tellen.
Hetzelfde patroon van lus en test kan ze allemaal uitvoeren. Verander alleen de voorwaarde zodat die bij je doel past.
if (Character.isDigit(c)) {
count++;
}Korte test
Test je begrip van het tellen en filteren van tekens.
Samenvatting
Bij tellen gebruik je een teller die je verhoogt wanneer een teken slaagt voor een test zoals isDigit of ==.
Bij filteren bouw je een nieuwe String op waarin alleen de gewenste tekens blijven staan, bij voorkeur met StringBuilder voor betere snelheid. Verander de voorwaarde om klinkers, letters of cijfers te tellen of witruimte te verwijderen.
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 “Tekens tellen en filteren” gratis?
Ja — de volledige tekst van “Tekens tellen en filteren” 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 “Tekens tellen en filteren”?
Praktische taken met char. 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 4 van 4.
Hoe lang duurt de les “Tekens tellen en filteren”?
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
- Het primitieve type char
- Hulpmethoden voor tekens
- Itereren over tekens
- Tekens tellen en filteren