Zeichenfolgenliterale in Java
Das folgende Programm zeigt, wie ein Text mit Hilfe von Anführungszeichen »"« angegeben wird.
Main.java
public final class Main
{ public static void main( final java.lang.String[] args )
{ java.lang.System.out.println
( "Hallo, Welt!" ); }}java.lang.System.out
Hallo, Welt!
Eine Zeichenfolge ist eine Folge hintereinandergeschriebener Schriftzeichen, wie beispielsweise »;s2/^« (fünf Zeichen). Während ein Text zweidimensional sein und aus mehreren Zeilen bestehen, ist eine Zeichenfolge eine eindimensionale Abfolge von Zeichen. (Der Begriff „Text“ wird in diesem Kurs aber machmal auch als kurzes Wort für eine Zeichenfolge verwendet, wenn dadurch keine Mißverständnisse entstehen können.)
Ein Zeichenfolgenliteral ist ein Ausdruck zur Angabe solch einer Zeichenfolge im Quelltext – zur Bildung eines Zeichenfolgenliterals wird die anzugebende Zeichenfolge zwischen Anführungszeichen »"« geschrieben. Beispielsweise ist »";s2/^"« (sieben Zeichen) ein Zeichenfolgenliteral.
Beispiel
Das Zeichenfolgenliteral »"Hallo, Welt!"« (14 Zeichen) notiert bespielsweise die Zeichenfolge »Hallo, Welt!« (12 Zeichen).
- Ausdruck (Zeichenfolgenliteral)
"Hallo, Welt!"
- Wert (Zeichenfolge)
Hallo, Welt!
Beispiel
Die Zeichenfolge »Hallo, Welt!« kann natürlich auch durch eine andere Zeichenfolge ersetzt werden, wie das folgende Programmbeispiel zeigt.
- Ausdruck (Zeichenfolgenliteral)
"Alpha"
- Wert (Zeichenfolge)
Alpha
Main.java
public final class Main
{ public static void main( final java.lang.String[] args )
{ java.lang.System.out.println
( "Alpha" ); }}java.lang.System.out
Alpha
Zeichenfolgen mit einem einzigen Zeichen
Auch eine Folge mit nur einem einzigen Schriftzeichen gilt als Zeichenfolge.
- Ausdruck (Zeichenfolgenliteral)
"A"
- Wert (Zeichenfolge)
A
Main.java
public final class Main
{ public static void main( final java.lang.String[] args )
{ java.lang.System.out.println
( "A" ); }}java.lang.System.out
A
Die leere Zeichenfolge
Auch eine Folge von null Schriftzeichen gilt als Zeichenfolge, welche wir auch als die leere Zeichenfolge bezeichnen.
- Ausdruck (Zeichenfolgenliteral)
""
- Wert (Zeichenfolge) (leere Zeichenfolge, „nichts“)
Main.java
public final class Main
{ public static void main( final java.lang.String[] args )
{ java.lang.System.out.println
( "" ); }}java.lang.System.out
- (Leerzeile)
Aufbau von Zeichenfolgen
Eine Zeichenfolge (kurz auch Folge ) oder Zeichenkette (englisch “character string ”) besteht aus hintereinander geschriebenen Schriftzeichen (Buchstaben, Ziffern oder Sonderzeichen). Beispiel: »;s2/^« ist eine Zeichenfolge mit fünf Zeichen.
- Aufbaudiagramm
Zeichenfolge
|-|---.------------------.--->|-|
^ |
| .---------. |
'---| Zeichen |<---'
'---------'- Beispiele für Zeichenfolgen
Hallo, Welt!
Alpha
A
Aufbau von Zeichenfolgenliteralen
Ein Zeichenfolgenliteral besteht im wesentlichen aus einer Zeichenfolge zwischen zwei Anführungszeichen »"«. Beispielsweise: »"abc"« (Anführungszeichen, a, b, c, Anführungszeichen).
- Aufbaudiagramm
Zeichenfolgenliteral
.-. .-.
|-|--->( " )---.------------------.--->( " )--->|-|
'-' ^ | '-'
| .---------. |
'---| Zeichen |<---'
'---------'- Beispiele für Zeichenfolgenliterale
"Hallo, Welt!"
"Alpha"
"A"
""
- Zum Vergleich: die Definitionen aus der JLS 13
StringLiteral:
" {StringCharacter} "StringCharacter:
InputCharacter but not " or \
EscapeSequence
Semantik
Die Semantik ist der Teil einer Programmiersprache, welcher erklärt, wie die Bedeutung eines Programms oder eines Ausdrucks ermittelt wird. Die Bedeutung eines Ausdrucks ist in diesem Teil des Kurses sein Wert. In unserem Fall legt die Semantik fest, wie die Zeichenfolge eines Zeichenfolgenliterals bestimmt wird.
Der Wert eines Zeichenfolgenliterals ist die in ihm zwischen den Anführungszeichen enthaltene Zeichenfolge.
Ein Zeichenfolgenliteral gibt also eine Zeichenfolge an. Es besteht im wesentlichen aus den Zeichen der Zeichenfolge und jeweils einem Anführungszeichen am Anfang und am Ende.
- Beispiele für die Werte von Zeichenfolgenliteralen
Zeichenfolgenliteral Wert (Bedeutung)
-------------------- ----------------"Hallo, Welt!" Hallo, Welt!
"Alpha" Alpha
"A" A
""
Übungsfragen
Textangaben in chevrons (/ʃə.vʁɔ̃s/), also den Zeichen "»" und "«", beziehen sich immer auf den Text zwischen diesen chevrons. Beispielsweise umfaßt der Text »abc« drei Zeichen (nicht fünf).
? Übungsfrage
Wie viele Zeichen hat die vom Zeichenfolgenliteral »"ab"« dargestellte Zeichenfolge? (Anders gesagt: Wie viele Zeichen hat der Wert des Ausdrucks »"ab"«?)
? Übungsfrage
Wie viele Zeichen hat das Zeichenfolgenliteral »"ab"« selber? (Anders gesagt: Wie viele Zeichen nimmt es im Quelltext ein? Wie viele Zeichen hat der Ausdruck »"ab"«?)