"Amigo, jeg misunder dig. At lære nye ting er så vidunderligt! Og i dag venter et nyt og interessant emne på dig - bogstaveligt talt."

"Tilsyneladende skulle jeg sige, at jeg er den lykkeligste robo-elev på planeten, Rishi. Nå, jeg er klar til at opsuge den nye viden!"

"Så lad os komme til det med det samme. Bogstaver er specifikke data skrevet direkte i et programs kode. Vi taler ikke om bare nogen data. Vi taler kun om primitive typer og strenge.

Antag for eksempel, at du har denne kode:

Kode Bogstaver
int a = 5;
int b = a + 10;
String s = "Sum=" + (a + b);
5
10
"Sum="

"De bogstavelige bogstaver i denne kode er tallet 5 , tallet 10 og strengen ' Sum = '.

Heltals bogstaver

"I Java har alt, inklusive literaler, en type. Alle heltal literals (heltal) i kode er ints . Int-typen er standard Java-heltalstypen."

"Jeg kender denne type. Jeg har brugt den."

"Kan du huske andre heltalstyper udover int? Nogle der fylder mindre i hukommelsen?"

"Selvfølgelig! Byte og kort."

"Det er dem. Så hvis du i din kode beslutter dig for at tildele et heltal literal til en variabel af typen byte eller short, vil der ikke være nogen problemer. Det vigtigste er, at den bogstavelige værdi ligger inden for det område af værdier, som variabelens type kan lagre. Java-kompileren er smart nok til at forstå, at en byte-variabel kan tildeles heltal-literalen 100.

Eksempler:

Kode Beskrivelse
int a = 300;
Dette vil kompilere fint.
byte a = 100; 
Dette vil kompilere fint.
byte a = 300; 
Der vil være en kompileringsfejl, fordi den maksimale byteværdi er 127.

"Hvad med den lange type?"

"Vi kan også skrive bogstaver af denne type i vores kode. For at gøre dette skal du tilføje det latinske bogstav 'L' eller 'l' i slutningen af ​​heltal.

Eksempler:

Kode Beskrivelse
long a = 3000000000L; 
Dette vil kompilere fint.
long a = 3000000000; 
Kompileringsfejl: 3 milliarder er for stort til en int literal.
int a = 3000000000L; 
Kompileringsfejl: det bogstavelige er en lang, men variablen er en int. Derudover er 3 milliarder mere end den maksimale int.

"Lagde du mærke til, hvor svært det er at læse store tal på 10 eller flere cifre?

"Ja, hvis du ikke har din robovision aktiveret, så vil det ikke umiddelbart være klart, om vi taler om 3 milliarder eller 30."

"For at gøre koden mere læsbar (og det er vigtigt!), tillader Java at indsætte understregninger i numeriske bogstaver (de påvirker ikke værdien af ​​tallet).

"Eksemplet ovenfor kan omskrives med understregninger for at gøre det lidt klarere:

Kode Beskrivelse
long a = 3_000_000_000L; 
Dette vil kompilere fint.
long a = 3_000_000_000; 
Kompileringsfejl: 3 milliarder er for stort til en int literal.
int a = 3_000_000_000L; 
Kompileringsfejl: det bogstavelige er en lang, men variablen er en int. Derudover er 3 milliarder mere end den maksimale int.

"Dette er meget mere praktisk at læse, selvom et komma i stedet for en understregning ville være mere velkendt!"

"Men vi kan ikke bruge kommaer i numeriske bogstaver, fordi de allerede bruges til et andet formål. For eksempel til at adskille argumenter fra hinanden, når man kalder en metode.

Reelle tal bogstaver

"Du har sikkert allerede gættet, at du i din kode ikke kun kan angive heltal, men også bogstaver med flydende komma (reelle tal)."

"Både dobler og flyder?"

"Ja. Faktisk er reglen ret simpel: Hvis et tal i koden har et decimaltegn, så er tallet et flydende decimaltal. Og ikke et hvilket som helst bogstav, men dobbelt bogstav. For at skabe et flydende bogstav , skal du skal du sætte bogstavet 'F' (eller 'f') i slutningen af ​​tallet .

Eksempler:

Kode Beskrivelse
double a = 100.0; 
Dette vil kompilere fint.
double a = 100.;
Dette vil kompilere fint.
double a = .0;
Dette vil kompilere fint.
float a = 100.0f; 
Dette vil kompilere fint.
float a = 100.0; 
Der vil være en kompileringsfejl: variablen er en float, men den bogstavelige er en dobbelt.

"Du kan i øvrigt eksplicit konvertere et heltal til en flydende eller dobbelt literal ved blot at tilføje suffikset 'F' (for float ) eller D (for dobbelt ). Eksempler:

Kode Beskrivelse
double a = 100D; 
Dette vil kompilere fint.
float a = 100F; 
Dette vil kompilere fint.
int a = 300D; 
Der vil være en kompileringsfejl: variablen er en int, men den bogstavelige er en dobbelt .

"Literaler med flydende komma kan bruge videnskabelig notation : Ud over den fortegnede del af tallet kan du også angive en potens af ti. Eksempel:

Bogstavelig Matematisk notation Endelig værdi
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

Streng bogstaver

"Du kan også angive hele tekstlinjer i din kode. For at fortælle compileren om at behandle en streng som data (en bogstavelig) og ikke som en del af koden, er hele strengen omgivet af dobbelte anførselstegn på begge sider.

"Hvis en enkelt kodelinje har flere dobbelte anførselstegn, opdeles de i par. Det første dobbelte anførselstegn angiver begyndelsen af ​​et bogstav. Det næste angiver slutningen af ​​det bogstavelige. Det næste efter det markerer igen begyndelsen af ​​en ny bogstavelig. Og den næste markerer slutningen af ​​den anden bogstavelige. Og så videre.

"Hver sådan bogstavelig er en streng .

Eksempler

Kode Forklaring
"+"+"+"+"+"+"+"+"+"
Der er 5 bogstaver i en linje. Hver af dem består af et enkelt '+'-tegn
""
Dette bogstav er en tom streng. En streng uden tegn.
"2+3"+"-5"
Der er to bogstaver her. Resultatet bliver strengen '2+3-5', ikke et tal
"return"+";"
Der er også to bogstaver her. Der er ingen returopgørelse her.

"Hvis en streng er for lang, kan den opdeles i flere linjer og limes sammen med 'plusoperatoren':

Kode Forklaring
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.";
Hvis du sender denne linje til skærmen, vil al teksten blive vist på en enkelt linje!

Karakter bogstaver

"Hvad hvis jeg har brug for et bogstav, der er et enkelt tegn i stedet for en streng? Skal jeg oprette en streng, der består af et enkelt tegn?"

"Nej, i så fald har du brug for en bogstavelig, hvis type er char. Kan du gætte, hvordan begyndelsen og slutningen af ​​sådan en bogstavelig betegnes?"

"Enkelte citater?"

"Ja, og inde i de enkelte anførselstegn skal der være et tegn og kun et tegn. Du kan ikke bruge tomme enkeltanførselstegn.

Eksempler:

Kode Forklaring
'A'
En bogstavelig, hvis type er char. Den indeholder det latinske bogstav 'A'.
'@' 
En bogstavelig, hvis type er char. Den indeholder '@'-symbolet
'' 
En bogstavelig, hvis type er char. Den indeholder et japansk tegn. Og dette er også muligt.
'\u1f3a'
En bogstavelig, hvis type er char. Det indeholder et Unicode-tegn, der er angivet ved dets nummer.

"Det sidste eksempel tildeler et Unicode-tegn ved hjælp af en speciel notation: først har vi præfikset \u, efterfulgt af 4 hexadecimale tegn. Du vil lære mere om dette i de næste lektioner."