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 charAt der Klasse String gibt einen Wert vom Datentyp char zurück.
  • Wird ein Wert vom Datentyp String als Parameter einer Methode erwartet, so kann man auch einen Wert vom Datentyp char ü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.