String-Literale in Java [] (String-Literale in Java), Lektion, Seite 722607
https://www.purl.org/stefan_ram/pub/stringliterale_java (Permalink) ist die kanonische URI dieser Seite.
Stefan Ram
Java-Kurs

String-Literale in Java

Der inverse Schrägstrich hat in einem Zeichenfolgenliteral eine Sonderbedeutung, zu deren Verständnis die folgende Analyse notwendig ist:

Bei der Analyse eines Zeichenfolgenliterals beginnt man nach dem ersten Anführungszeichen im Grundzustand.

Zeichenfolgenanalyse
"b\nc"
^
Grundzustand

Nach jedem weiteren Zeichen ist man normalerweise weiterhin im Grundzustand.

Zeichenfolgenanalyse
"b\nc"
^
Grundzustand

Nach einem inversen Schrägstrich im Grundzustand  ist man aber für genau das nächste Zeichen in einem Sonderzustand  und für das übernächste Zeichen dann aber wieder im Grundzustand.

Zeichenfolgenanalyse
"b\nc"
^
Sonderzustand
Zeichenfolgenanalyse
"b\nc"
^
Grundzustand

Im Sonderzustand haben einige Zeichen eine besondere Bedeutung. So bedeutet ein »n« im Sonderzustand das Zeilenvorschubzeichen Code 10.

Zeichenfolgenliteral
"a\nb"
Zeichenfolge (wörtliche Interpretation)
a
b
Zeichenfolge (in Java  unter einigen Umgebungen übliche Interpretation )
a
b
Main.java
public class Main
{ public static void main( final java.lang.String[] args )
{ java.lang.System.out.println( "a\nb" ); }}
Konsole (Leerzeile)
a
b

Ein Anführungszeichen »"« im Sonderzustand steht für ein Anführungszeichen in der Zeichenfolge (während das Anführungszeichen im Normalzustand ja das Zeichenfolgenliteral abschließt).

Zeichenfolgenliteral
"a\"b"
Zeichenfolge
a"b
Main.java
public class Main
{ public static void main( final java.lang.String[] args )
{ java.lang.System.out.println( "a\"b" ); }}
Konsole (Leerzeile)
a"b

Ein inverser Schrägstricht »\« im Sonderzustand steht für einen inversen Schrägstrich in der Zeichenfolge (während der inverse Schrägstrich im Normalzustand ja in den Sonderzustand umschaltet).

Zeichenfolgenliteral
"a\\b"
Zeichenfolge
a\b
Main.java
public class Main
{ public static void main( final java.lang.String[] args )
{ java.lang.System.out.println( "a\\b" ); }}
Konsole (Leerzeile)
a\b

Das folgende Beispielprogramm zeigt ein Zeichenfolgenliteral im Zusammenhang eines vollständigen Programmes.

Main.java
public final class Main
{ public static void main( final java.lang.String[] args )
{ java.lang.System.out.println
( "// /* Anfuehrungszeichen \"\nInverser Schraegstrich \\ */" ); }}
System.out
// /* Anfuehrungszeichen "
Inverser Schraegstrich \ */

Die Zeichenpaare, welche sonst einen Kommentar einleiten würden, verlieren diese Sonderbedeutung, wenn sie in einem Zeichenfolgenliteral vorkommen. Daher sind Kommentare innerhalb von Zeichenfolgenliteralen nicht möglich.

Zeilentrennung in Java 

Das Zeilenvorschubzeichen »"\n"« ist nicht  zum Abschluß einer Zeile geeignet. Obwohl es unter manchen Umgebunden den gewünschten Effekt haben kann, ist dies nicht unter allen Umgebungen garantiert. Das Zeilenvorschubzeichen »"\n"« sollte nur von Experten verwendet werden, die sicher sind, daß sie ein Zeilenvorschubzeichen wünschen. Zum Abschluß einer Zeile sollten statt dessen wie bisher die früher im Kurs behandelten Möglichkeiten verwendet werden.

Übungsaufgaben

/   Zeichenfolge ausgeben

Schreiben Sie ein Programm, das die Zeichenfolge ausgibt, die unter der Überschrift "Text" steht, indem Sie diesen Text mit einem Textliteral notieren. Das Programm soll also eine Zeile mit 18 Zeichen (und nichts anderes) ausgeben.

Text
"Hallo," sagte er.

/   Programm ausgeben (schwierig)

Schreiben Sie ein Java -Programm, das den Quelltext »Main.java« (der letzte Quelltext vor dieser Übungsaufgabe in dieser Lektion), (vier Zeilen) ausgibt.

Seiteninformationen und Impressum   |   Mitteilungsformular  |   "ram@zedat.fu-berlin.de" (ohne die Anführungszeichen) ist die Netzpostadresse von Stefan Ram.   |   Eine Verbindung zur Stefan-Ram-Startseite befindet sich oben auf dieser Seite hinter dem Text "Stefan Ram".)  |   Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram. Schlüsselwörter zu dieser Seite/relevant keywords describing this page: Stefan Ram Berlin slrprd slrprd stefanramberlin spellched stefanram722607 stefan_ram:722607 String-Literale in Java Stefan Ram, Berlin, and, or, near, uni, online, slrprd, slrprdqxx, slrprddoc, slrprd722607, slrprddef722607, PbclevtugFgrsnaEnz Erklärung, Beschreibung, Info, Information, Hinweis,

Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram.
https://www.purl.org/stefan_ram/pub/stringliterale_java