Programmieren

Datentyp String

 aufwärts

Ein String ist eine Zeichenkette. Der Datentyp String hat als Wertebereich die Menge aller Zeichen­ketten. Strings werden in Anführungs­zeichen gesetzt; Beispiele für Strings sind "abba", "Hallo Fritz!", "@%#&$", "x" sowie auch "". Die Länge eines Strings ist die Anzahl der Zeichen, aus denen er besteht. So hat beispiels­weise der String "abba" die Länge 4. Der leere String "" hat die Länge 0, da er 0 Zeichen enthält. Die einzelnen Zeichen eines Strings der Länge n werden von 0 bis n-1 nummeriert.

Das folgende Programm­stück zeigt die Deklaration einer Variablen vom Typ String gefolgt von einer Wert­zuweisung und anschließender Ausgabe des Strings.

String s;
s="Hallo!";
System.out.println(s);

Strings sind Objekte

Der Datentyp String ist in Java kein einfacher Datentyp wie etwa int oder double oder boolean, sondern eine Klasse. Eine Variable vom Typ String enthält daher nicht den String selbst, sondern sie enthält einen Verweis auf ein Objekt der Klasse String.

Die wichtigste Konsequenz aus dieser Tatsache ist, dass Strings nicht mit dem Vergleichs­operator == verglichen werden können, denn der Vergleichs­operator prüft, ob die Verweise gleich sind und nicht, ob die Strings gleich sind, auf die verwiesen wird. Daher ist stattdessen die Funktion equals zu verwenden (s.u.).

Obwohl Strings Objekte sind, sieht die Wert­zuweisung syntaktisch genauso aus wie bei den einfachen Datentypen. Tatsächlich aber ist die Anweisung

s="Hallo!";

nur eine Kurzform für das eigentlich korrekte

s=new String("Hallo!");

Verkettung von Strings

Noch in einer anderen Hinsicht werden Strings wie einfache Datentypen behandelt. Strings lassen sich nämlich mit dem Operator + verketten.

String r, s, t;
r="abc";
s="de";
t=r+s;    // Verkettung von r und s
System.out.println(t);    // Ergebnis: "abcde"

Strings lassen sich auch mit Werten anderer Datentypen verketten; hierbei werden diese automatisch in String umgewandelt.

int k=3;
String s;
s="Die Zahl heißt "+k;    // Verkettung eines Strings und einer Zahl
System.out.println(s);    // Ergebnis: "Die Zahl heißt 3"

Achtung: Ausdrücke mit dem Operator + werden von links nach rechts ausgewertet. Da das Zeichen + auch für die Addition von Zahlen verwendet wird, wird durch die Reihenfolge bei der Auswertung bestimmt, ob Addition oder Verkettung gemeint ist. Gegebenen­falls sind Klammern zu benutzen, um die gewünschte Reihenfolge zu erzwingen.

int k=3;
String s;
s="Die Zahl heißt "+k+1;  // zweimal Verkettung
System.out.println(s);    // Ergebnis: "Die Zahl heißt 31"
s=k+1+" heißt die Zahl";  // einmal Addition und einmal Verkettung
System.out.println(s);    // Ergebnis: "4 heißt die Zahl"

String-Funktionen

Für weitere Operationen mit Strings stehen in der Klasse String eine ganze Reihe von Objekt­methoden zur Verfügung. Die Methoden werden immer jeweils auf ein Objekt der Klasse String angewendet.

 

equals

Die Methode

boolean equals(String s)

prüft, ob zwei Strings gleich sind. In folgendem Beispiel sind die Strings gleich.

String s="abc", t="abc";
if (s.equals(t))
    System.out.println("gleich");
else
    System.out.println("ungleich");

Die Prüfung if (s==t) hätte dagegen möglicher­weise Ungleichheit ergeben, da die Variablen s und t auf verschiedene Objekte verweisen.

 

length

Die Methode

int length()

ergibt die Länge des Strings.

String s="abc";
int k=s.length();    // k erhält den Wert 3

 

substring

Mit der Methode

String substring(int i, int j)

lässt sich ein Teilstring eines Strings ermitteln. Die Parameter i und j haben folgende Bedeutung: i ist die Start­position des Teilstrings, j ist die Position i plus Länge des Teilstrings. D.h. i ist die Start­position, aber j ist nicht die Endposition des Teilstrings, sondern die Endposition plus 1, bzw. die erste Position des Strings, die nicht mehr zum Teilstring gehört.

String s="abcdefg";
String t=s.substring(2, 5);    // t erhält den Wert "cde"

Mit der Funktion substring lässt sich auch ein einzelnes Zeichen aus einem String heraus­greifen.

String s="abcde";
int i=2;
String t=s.substring(i, i+1);  // t erhält den Wert "c"

Wird beim Aufruf der Methode substring nur der erste Parameter i angegeben, so ist das Ergebnis der Teilstring von Position i bis zum Ende des Strings. Der Aufruf

String t=s.substring(i);

bedeutet also dasselbe wie

String t=s.substring(i, s.length());

 

Weiter mit:   up

 

homeH.W. Lang   Hochschule Flensburg   lang@hs-flensburg.de   Impressum   ©  
Valid HTML 4.01 Transitional

Hochschule Flensburg
Campus Flensburg

Informatik in Flensburg studieren...

 

Neu gestaltetes Studienangebot:

Bachelor-Studiengang
Angewandte Informatik

mit Schwerpunkten auf den Themen Software, Web, Mobile, Security und Usability.

Ihr Abschluss
nach 7 Semestern:
Bachelor of Science

 

Ebenfalls ganz neu:

Master-Studiengang
Angewandte Informatik

Ein projektorientiertes Studium auf höchstem Niveau mit den Schwerpunkten Internet-Sicherheit, Mobile Computing und Human-Computer Interaction.

Ihr Abschluss
nach 3 Semestern:
Master of Science

 

Weitere Informatik-Studienangebote an der Hochschule Flensburg:

Medieninformatik

Wirtschaftsinformatik