Der primitive Typ char in Java ist eine 16-Bit-Darstellung eines einzelnen Unicode-Zeichens.
Der Typ char basiert auf der ursprünglichen Unicode-Spezifikation, die 16 Bit zur Darstellung von Zeichen verwendete.
Das reicht aus, um die meisten gängigen Buchstaben abzudecken, und deckt Zeichen im Bereich 0x0000 bis 0xFFFF ab.
Seitdem hat die Spezifikation den Bereich der möglichen Zeichen bis auf 0x01FFFF erweitert.
Mehrere chars können zusammen einen String bilden, wie zum Beispiel "word", oder chars können unabhängig voneinander verarbeitet werden.
Ein char-Literal wird von einfachen Anführungszeichen umschlossen (z. B. 'A').
char lowerA = 'a';
char upperB = 'B';
chars eines Strings auslesenDie Methode String.toCharArray gibt die chars eines String als Array zurück.
Wie in Arrays erwähnt, kannst du eine for-Schleife verwenden, um über das Array zu iterieren.
String text = "Hello";
char[] asArray = text.toCharArray();
for (char ch: asArray) {
System.out.println(ch);
}
// Outputs:
// H
// e
// l
// l
// o
Es gibt viele eingebaute Bibliotheksmethoden, um chars zu untersuchen und zu manipulieren.
Du findest sie als statische Methoden der Klasse java.lang.Character.
Hier sind einige Beispiele:
Character.isWhitespace(' '); // true
Character.isWhitespace('#'); // false
Character.isLetter('a'); // true
Character.isLetter('3'); // false
Character.isDigit('6'); // true
Character.isDigit('?'); // false
Einige Methoden der Klasse Character haben eine Überladung, sodass sie entweder ein char oder ein int annehmen können.
Zum Beispiel hat isDigit eine, die ein char annimmt, und eine andere, die ein int annimmt.
Wie bereits erwähnt, kann der Typ char nur die Zeichen im Bereich von 0x0000 bis 0xFFFF darstellen.
Das int hingegen kann alle Zeichen darstellen, daher die int-Überladungen.
char zu einem String hinzufügenMit dem Operator + kannst du ein char zu einem String hinzufügen.
'a' + " banana" // => "a banana"
"banana " + 'a' // => "banana a"
Pass auf, dass du + nicht verwendest, um zwei chars zu einem String zusammenzufügen!
Wenn du zwei chars auf diese Weise addierst, erhältst du ein int, kein String!
Zum Beispiel:
'b' + 'c';
// => 197 (not the String "bc")
Das liegt daran, dass Java das char zu einem int hochstuft (siehe 4.2 Primitive Typen und Werte der Java Language Specification).
Wenn jedoch viele Zeichen hinzugefügt werden sollen, kann es effizienter sein, stattdessen einen StringBuilder zu verwenden:
StringBuilder builder = new StringBuilder();
builder.append('a');
builder.append('b');
builder.append('c');
String builtString = builder.toString();
// => abc