Die Datentypen String, char und boolean
Die Datentypen String, char und boolean
String
In einer Variable vom Datentyp String kann man beliebige Abfolgen von Zeichen (Buchstaben, Ziffern, Sonderzeichen) speichern. Der wörtlichen englischen Übersetzung entspricht der entsprechende deutsche Fachbegriff Zeichenkette.
Zeichenketten schreibt man in Gänsefüßchen, also z.B. „Das ist ein Text.“ oder „3, 2, 1, 0, Liftoff!“. Strings kann man mit dem Operator + hintereinanderhängen („konkatenieren“). Der Wert des Terms „Das ist “ + „praktisch.“ ist „Das ist praktisch“.
Im Unterschied zu int-, float- oder double-Werten sind Strings Objekte. Sie haben Methoden, die man aufrufen kann, indem man sie mit „.“ hinter den String schreibt.
Setz' den Cursor in die 11. Zeile und tippe a gefolgt von einem Punkt. Es öffnet sich die Code-Vervollständigung, die Dir alle Methoden des String-Objektes anzeigt.
char
In einer Variable vom Datentyp char kann man genau ein Zeichen (Buchstabe, Ziffer oder Sonderzeichen) speichern. char ist die Kurzform von character (Zeichen).
Zeichen-Konstanten schreibt man in einfachen Anführungszeichen also z.B. char c = 'T'.
Bemerkungen:
-
Die Methode
charAtder KlasseStringgibt einen Wert vom Datentypcharzurück. -
Wird ein Wert vom Datentyp
Stringals Parameter einer Methode erwartet, so kann man auch einen Wert vom Datentypcharübergeben. Er wird automatisch in eine Zeichenkette umgewandelt (implizites casting).
Aufgabe 1
Schreibe ein Programm, das ein Wort von der Tastatur einliest und ausgibt, wie viele Buchstaben das Wort hat.
Tipp 1:
Ist s vom Datentyp String, so ist das Ergebnis der Methode a.charAt vom Datentyp char (Zeichen), daher kann es nur mit Zeichen-Konstanten (nicht mit String-Konstanten) verglichen werden. Möchtest Du beispielsweise testen, ob das 3. Zeichen von s ein a ist, so geht das so:
if(s.charAt(2) == 'a') { ... }
Die einfachen Anführungszeichen um das a bedeuten, dass es sich um eine Zeichen-Konstante vom Datentyp char handelt.
Tipp 2:
Neben der Variablen (z.B. String s), die die zu untersuchende Zeichenkette beinhaltet, brauchst Du zwei int-Variablen: Eine (z.B. int p) wird von 0 bis s.length() - 1 hochgezählt, die andere wird immer dann um 1 erhöht, wenn das p-te Zeichen von s ein a ist.
Aufgabe 2
Schreibe ein Programm, das das eingegebene Wort in umgekehrter Reihenfolge ausgibt. Also "heute" -> "etueh".
Aufgabe 3
Schreibe ein Programm, das den Benutzer um Eingabe eines Wortes bittet und ausgibt, wie oft der Buchstabe a darin vorkommt.
Aufgabe 4
Schreibe ein Programm, das den Benutzer um Eingabe zweier Wörter bittet und sie in umgekehrter Reihenfolge ausgibt.
Aufgabe 5
Schreibe ein Programm, das die Stelle ausgibt, wo das erste Mal der Buchstabe 'a' vorkommt.
Aufgabe 6 (extreme Herausforderung!)
Schreibe ein Programm, das den Benutzer um Eingabe eines Wortes bittet und ausgibt, welcher Buchstabe darin am häufigsten vorkommt.
Hier geht's zur Lösung!
boolean
Variablen vom Datentyp boolean können nur zwei verschiedene Werte speichern: true oder false. Man nennt sie auch Wahrheitswerte.
Wahrheitswerte können mit den Operatoren && (und) und || (oder) verknüft werden. Mit dem vorangestellten Operator ! (nicht) erhält man das „Gegenteil“ des Wahrheitswertes.