Arrays und Strings
Arrays und Strings sind ganz ähnliche Datentypen. In diesem kurzen Artikel, werden wir die Gemeinsamkeiten und Unterschiede von Arrays und Strings diskutieren.
Der primitive Datentyp char
Neben int und double gibt es in Java noch weitere primitive Datentypen.
Einer davon ist der Datentyp char
.
char
steht für Character und dient dazu, ein Zeichen (also ein Buchstabe, eine Zahl, oder ein Sonderzeichen) zu repräsentieren.
Die folgenden Beispiele zeigen, wie wir Variablen vom Typ char
deklarieren und diesen Werte zuweisen:
char theLetterA = 'a';
char theNumber9 = '9';
char anExclamationMark = '!';
Wie Sie sehen, müssen wir Character-Werte in Java zwischen Hochkomma ''
schreiben.
(Überlegen Sie sich, wie wir sonst zwischen der Zahl 9
und dem Symbol '9'
unterscheiden könnten).
Strings als Character Arrays
Texte sind nichts anderes als Sequenzen von Zeichen. Wir könnten Texte in Java darstellen, indem wir Arrays von Character definieren würden:
char[] aText = new Char[]{'h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd'};
Tatsächlich ist dies von der Realität gar nicht weit weg.
Wir können zumindest für jeden Wert vom Typ String in Java das entsprechende Characterarray, mittels der Methode toCharArray
erhalten:
String s = "Hello world";
char[] aText = s.toCharArray();
Genau wie Arrays können wir auch auf einzelne Elemente von Strings (also einzelne Buchstaben) wie eine Indexoperation zugreifen:
String s = "Hello world";
char firstCharacter = s.charAt(0);
Wir können auch einen Wert vom Typ String aus einem Character Array erstellen:
char[] aText = new Char[]{'h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd'};
String s = new String(aText);
Unterschiede zwischen Strings und Character Arrays
Es gibt jedoch auch wichtige Unterschiede zwischen Strings und Character arrays. Der wichtigste ist, das Strings, im Gegensatz zu Character arrays, nicht veränderbar sind. Wenn wir einmal einen Wert vom Typ String erstellt haben, können wir diesen nicht mehr ändern. Es gibt also keine Operation um einen einzelnen Buchstaben innerhalb eines Strings zu verändern. Im Gegensatz dazu, können wir in einem Character Array jedes Element verändern:
char[] aText = new Char[]{'h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd'};
aText[0] = 'H';
Zudem bietet uns der Datentyp String spezialisierte Operationen für das Erzeugen, Darstellen und Manipulieren von Texten, die das Arbeiten mit Texten sehr komfortabel machen. Dies werden Sie sehen, wenn Sie nachfolgenden Experimente machen.
Experimente
- Erzeugen Sie einen String mit dem Wert "Programmieren macht Spass". Erzeugen Sie dann das entsprechende Character Array.
- Geben Sie das Character Array mittels
System.out.println
aus. Was beobachten Sie? - Wie vergleichen Sie zwei Character Arrays auf Gleichheit? Wie machen Sie dies mit zwei Strings?
Haben Sie Fragen oder Bemerkungen? Schreiben Sie diese doch ins Forum