„Amigo, ich beneide dich. Neue Dinge zu lernen ist so wunderbar! Und heute erwartet dich ein neues und interessantes Thema – Literale.“

„Anscheinend sollte ich sagen, dass ich der glücklichste Robo-Schüler auf dem Planeten bin, Rishi. Nun, ich bin bereit, das neue Wissen aufzusaugen!“

„Dann kommen wir gleich zur Sache. Literale sind spezifische Daten, die direkt in den Code eines Programms geschrieben werden. Wir sprechen hier nicht von irgendwelchen Daten. Wir sprechen nur von primitiven Typen und Strings.“

Angenommen, Sie haben diesen Code:

Code Literale
int a = 5;
int b = a + 10;
String s = "Sum=" + (a + b);
5
10
"Sum="

„Die Literale in diesem Code sind die Zahl 5 , die Zahl 10 und die Zeichenfolge ‚ Sum = ‘.

Ganzzahlige Literale

„In Java hat alles, einschließlich Literale, einen Typ. Alle ganzzahligen Literale (Ganzzahlen) im Code sind ints . Der int-Typ ist der Standard-Ganzzahltyp von Java.“

„Ich kenne diesen Typ. Ich habe ihn verwendet.“

„Erinnern Sie sich an andere Integer-Typen außer int? Einige, die weniger Platz im Speicher beanspruchen?“

„Natürlich! Byte und kurz.“

„Das sind die Richtigen. Wenn Sie sich also in Ihrem Code dafür entscheiden, einer Variablen vom Typ „Byte“ oder „Short“ ein ganzzahliges Literal zuzuweisen, wird es keine Probleme geben. Die Hauptsache ist, dass der Literalwert innerhalb des Wertebereichs liegt, den die Variable hat Der Typ der Variablen kann gespeichert werden. Der Java-Compiler ist intelligent genug, um zu verstehen, dass einer Byte-Variablen das ganzzahlige Literal 100 zugewiesen werden kann.

Beispiele:

Code Beschreibung
int a = 300;
Das lässt sich problemlos kompilieren.
byte a = 100; 
Das lässt sich problemlos kompilieren.
byte a = 300; 
Es kommt zu einem Kompilierungsfehler, da der maximale Bytewert 127 beträgt.

„Was ist mit dem langen Typ?“

„Wir können in unserem Code auch Literale dieser Art schreiben. Fügen Sie dazu am Ende der Ganzzahl den lateinischen Buchstaben ‚L‘ oder ‚l‘ hinzu.“

Beispiele:

Code Beschreibung
long a = 3000000000L; 
Das lässt sich problemlos kompilieren.
long a = 3000000000; 
Kompilierungsfehler: 3 Milliarden sind zu groß für ein int-Literal.
int a = 3000000000L; 
Kompilierungsfehler: Das Literal ist ein Long-Wert, aber die Variable ist ein Int-Wert. Darüber hinaus sind 3 Milliarden mehr als das maximale int.

„Ist Ihnen aufgefallen, wie schwierig es ist, große Zahlen mit 10 oder mehr Ziffern zu lesen?

„Ja, wenn Sie Ihre Robovision nicht aktiviert haben, ist nicht sofort klar, ob es sich um 3 Milliarden oder 30 handelt.“

„Um den Code besser lesbar zu machen (und das ist wichtig!), erlaubt Java das Einfügen von Unterstrichen in numerische Literale (sie haben keinen Einfluss auf den Wert der Zahl).

„Das obige Beispiel kann mit Unterstrichen umgeschrieben werden, um es etwas klarer zu machen:

Code Beschreibung
long a = 3_000_000_000L; 
Das lässt sich problemlos kompilieren.
long a = 3_000_000_000; 
Kompilierungsfehler: 3 Milliarden sind zu groß für ein int-Literal.
int a = 3_000_000_000L; 
Kompilierungsfehler: Das Literal ist ein Long-Wert, aber die Variable ist ein Int-Wert. Darüber hinaus sind 3 Milliarden mehr als das maximale int.

„Das ist viel bequemer zu lesen, obwohl ein Komma anstelle eines Unterstrichs vertrauter wäre!“

„Aber wir können in numerischen Literalen keine Kommas verwenden, da diese bereits für einen anderen Zweck verwendet werden. Zum Beispiel, um Argumente beim Aufruf einer Methode voneinander zu trennen.“

Literale reeller Zahlen

„Sie haben wahrscheinlich schon erraten, dass Sie in Ihrem Code nicht nur Ganzzahlen, sondern auch Gleitkommaliterale (reelle Zahlen) angeben können.“

„Sowohl Doubles als auch Floats?“

„Ja. Eigentlich ist die Regel ganz einfach: Wenn eine Zahl im Code einen Dezimalpunkt enthält, dann ist die Zahl ein Gleitkomma-Literal. Und nicht irgendein Literal, sondern ein Doppelliteral. Um ein Gleitkomma-Literal zu erstellen , müssen Sie Sie müssen den Buchstaben „F“ (oder „f“) am Ende der Zahl einfügen .

Beispiele:

Code Beschreibung
double a = 100.0; 
Das lässt sich problemlos kompilieren.
double a = 100.;
Das lässt sich problemlos kompilieren.
double a = .0;
Das lässt sich problemlos kompilieren.
float a = 100.0f; 
Das lässt sich problemlos kompilieren.
float a = 100.0; 
Es wird ein Kompilierungsfehler auftreten: Die Variable ist ein Float, aber das Literal ist ein Double.

„Übrigens können Sie ein Integer-Literal explizit in ein Float- oder Double-Literal umwandeln, indem Sie einfach das Suffix ‚F‘ (für float ) oder D (für double ) anhängen. Beispiele:

Code Beschreibung
double a = 100D; 
Das lässt sich problemlos kompilieren.
float a = 100F; 
Das lässt sich problemlos kompilieren.
int a = 300D; 
Es wird ein Kompilierungsfehler auftreten: Die Variable ist ein int, aber das Literal ist ein double .

„Gleitkomma-Literale können die wissenschaftliche Schreibweise verwenden : Zusätzlich zum vorzeichenbehafteten Teil der Zahl können Sie auch eine Zehnerpotenz angeben. Beispiel:

Wörtlich Mathematische Notation Endgültiger Wert
1,23 E 2 1,23*10 2 123,0
1,23 E 3 1,23*103 1230,0
1,23 E -6 1,23*10 -6 0,00000123
1 E 6 1,0 *10 6 1000000,0
1 E -10 1,0*10 -10 0,0000000001

String-Literale

„Sie können in Ihrem Code auch ganze Textzeilen angeben. Um den Compiler anzuweisen, eine Zeichenfolge als Daten (ein Literal) und nicht als Teil des Codes zu behandeln, wird die gesamte Zeichenfolge auf beiden Seiten in doppelte Anführungszeichen gesetzt.

„Wenn eine einzelne Codezeile mehrere doppelte Anführungszeichen enthält, werden diese in Paare aufgeteilt. Das erste doppelte Anführungszeichen gibt den Anfang eines Literals an. Das nächste gibt das Ende des Literals an. Das nächste darauf markiert wiederum das Beginn eines neuen Literals. Und das nächste markiert das Ende des zweiten Literals. Und so weiter.

„Jedes dieser Literale ist ein String .

Beispiele

Code Erläuterung
"+"+"+"+"+"+"+"+"+"
Es gibt 5 Literale in einer Zeile. Jeder von ihnen besteht aus einem einzelnen „+“-Zeichen
""
Dieses Literal ist eine leere Zeichenfolge. Eine Zeichenfolge ohne Zeichen.
"2+3"+"-5"
Hier gibt es zwei Literale. Das Ergebnis ist die Zeichenfolge „2+3-5“, keine Zahl
"return"+";"
Auch hier gibt es zwei Literale. Hier gibt es keine Return-Anweisung.

„Wenn ein String-Literal zu lang ist, kann es in mehrere Zeilen aufgeteilt und mit dem ‚Plus-Operator‘ zusammengeklebt werden:

Code Erläuterung
String s = "I hold it true, whate'er befall"
         + "I feel it when I sorrow most;"
         + "'Tis better to have loved and lost"
         + "Than never to have loved at all.";
Wenn Sie diese Zeile auf dem Bildschirm ausgeben, wird der gesamte Text in einer einzigen Zeile angezeigt!

Zeichenliterale

„Was ist, wenn ich ein Literal benötige, das aus einem einzelnen Zeichen und nicht aus einer Zeichenfolge besteht? Soll ich eine Zeichenfolge erstellen, die aus einem einzelnen Zeichen besteht?“

„Nein, in diesem Fall benötigen Sie ein Literal vom Typ char. Können Sie erraten, wie Anfang und Ende eines solchen Literals bezeichnet werden?“

"Einzelzitate?"

„Ja, und innerhalb der einfachen Anführungszeichen muss ein Zeichen stehen, und zwar nur ein Zeichen. Sie können keine leeren einfachen Anführungszeichen verwenden.

Beispiele:

Code Erläuterung
'A'
Ein Literal vom Typ char. Es enthält den lateinischen Buchstaben „A“.
'@' 
Ein Literal vom Typ char. Es enthält das „@“-Symbol
'' 
Ein Literal vom Typ char. Es enthält ein japanisches Zeichen. Und das ist auch möglich.
'\u1f3a'
Ein Literal vom Typ char. Es enthält ein Unicode-Zeichen, das durch seine Nummer angegeben wird.

„Das letzte Beispiel weist ein Unicode-Zeichen mithilfe einer speziellen Notation zu: Zuerst haben wir das Präfix \u, gefolgt von 4 Hexadezimalzeichen. Mehr darüber erfahren Sie in den nächsten Lektionen.“