1. Heltalls bokstaver

Og nå til et nytt interessant emne - bokstavelig talt. Data skrevet direkte i programkoden kalles bokstaver . Vi snakker ikke om noen gamle data, men verdiene til primitive typer og typen String.

Anta for eksempel at du har følgende kode:

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

Bokstavene i denne koden er tallet 5, tallet 10og strengen ' Sum = '.

I Java har alt, inkludert bokstaver, en type. Som standard er alle heltalls bokstaver (hele tall) i koden ints. Int-typen er standard Java-heltallstype.

Dessuten, hvis du bestemmer deg for å tilordne et heltallsliteral til en bytevariabel eller en kort variabel i koden din, vil det ikke være noen problemer. Du trenger bare å sørge for at den bokstavelige verdien ligger innenfor verdiområdet som variabelens type kan lagre.

Java-kompilatoren er smart nok til å forstå at en bytevariabel kan tildeles heltallsliteralen 100 uten å skape problemer.

Eksempler:

Kode Beskrivelse
int a = 300;
Dette vil kompilere helt fint.
byte a = 100; 
Dette vil kompilere helt fint.
byte a = 300; 
Det vil oppstå en kompileringsfeil fordi den maksimale byteverdien er 127.

Du kan også skrive longbokstaver i koden din. For å gjøre dette, legg til den latinske bokstaven 'L' eller 'l' på slutten av heltallet.

Eksempler:

Kode Beskrivelse
long a = 3000000000L; 
Dette vil kompilere helt fint.
long a = 3000000000; 
Kompileringsfeil: 3 milliarder er for stort for en int literal.
int a = 3000000000L; 
Kompileringsfeil: bokstaven er en lang, men variabelen er en int. I tillegg er 3 milliarder mer enn den maksimale int.

La du merke til hvor vanskelig det er å lese store tall på 10 eller flere sifre? Du kan ikke umiddelbart si om koden sier 3 milliarder eller 30 milliarder. For å gjøre koden mer lesbar (og dette er viktig!), tillater Java å sette inn understrek i numeriske bokstaver (de påvirker ikke verdien av tallet).

Eksemplet ovenfor kan skrives om med understreker for å gjøre det litt klarere:

Kode Beskrivelse
long a = 3_000_000_000L; 
Dette vil kompilere helt fint.
long a = 3_000_000_000; 
Kompileringsfeil: 3 milliarder er for stort for en int literal.
int a = 3_000_000_000L; 
Kompileringsfeil: bokstaven er en lang, men variabelen er en int. I tillegg er 3 milliarder mer enn den maksimale int.

Men vi kan ikke bruke komma i numeriske bokstaver fordi de allerede er brukt til et annet formål. For eksempel for å skille argumenter fra hverandre når du kaller en metode.



2. Reelle tall bokstaver

I koden din kan du spesifisere ikke bare heltall, men også bokstaver med flytende komma (reelle tall).

Egentlig er regelen ganske enkel: hvis et tall i koden har et desimaltegn, er tallet et flytende komma. Og ikke hvilken som helst bokstavelig, men en doublebokstavelig.

Du kan lage en flytende bokstav, men du må sette bokstaven 'F' (eller 'f') på slutten av tallet for å gjøre det .

Eksempler:

Kode Beskrivelse
double a = 100.0; 
Dette vil kompilere helt fint.
double a = 100.;
Dette vil kompilere helt fint.
double a = .0;
Dette vil kompilere helt fint.
float a = 100.0f; 
Dette vil kompilere helt fint.
float a = 100.0; 
Det vil oppstå en kompilasjonsfeil: variabelen er en float, men den bokstavelige er en dobbel.

Forresten, du kan eksplisitt konvertere et heltall til en flytende eller dobbel bokstav ved ganske enkelt ). Eksempler: appending the suffix 'F' (for float) or D (for double)

Kode Beskrivelse
double a = 100D; 
Dette vil kompilere helt fint.
float a = 100F; 
Dette vil kompilere helt fint.
int a = 300D; 
Det vil være en kompilasjonsfeil: variabelen er en int, men bokstaven er en double.

Flytende bokstaver kan bruke vitenskapelig notasjon : i tillegg til den fortegnede delen av tallet, kan du også spesifisere en potens på ti. Eksempel:

Bokstavelig Matematisk notasjon Endelig verdi
1.23E2
1.23 * 102
123.0
1.23E3
1.23 * 103
1230.0
1.23E-6
1.23 * 10-6
0.00000123
1E6
1.0 * 106
1000000.0
1E-10
1.0 * 10-10
0.0000000001


3. Streng bokstaver

Du kan også spesifisere hele tekstlinjer i koden. For å fortelle kompilatoren å behandle en streng som data (en bokstavelig) og ikke som en del av koden, er hele strengen omgitt av doble anførselstegn på begge sider.

Hvis en enkelt kodelinje har flere doble anførselstegn, blir de delt inn i par. Det første doble anførselstegn indikerer begynnelsen på en bokstavelig. Den neste indikerer slutten på det bokstavelige. Den neste etter det markerer nok en gang begynnelsen på en ny bokstavelig. Og den neste markerer slutten på den andre bokstavelige. Og så videre.

Hver slik bokstavelig er en String.

Eksempler

Kode Forklaring
"+" + "+" + "+" + "+" + "+"
Det er 5 bokstaver på en linje. Hver av dem består av et enkelt  +tegn
""
Denne bokstavelige er en tom streng. En streng uten tegn.
"2+3" + "-5"
Det er to bokstaver her. Resultatet vil være strengen ' 2+3-5', ikke et tall
"return" + ";"
Det er også to bokstaver her. Det er ingen returerklæring her.

Hvis en streng er for lang, kan den deles opp i flere linjer og limes sammen med 'plussoperatoren':

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 ut denne linjen til skjermen, vil all teksten vises på en enkelt linje!


4. Karakterbokstaver

Du kan spesifisere ikke bare bokstaver for strenger i koden din, men også bokstaver som består av individuelle tegn. Merk at vi ikke snakker om en streng som består av et enkelt tegn, men snarere om bokstaver hvis type er char.

I motsetning til en streng, er en bokstavelig bokstav omgitt av enkle anførselstegn . Inne i de enkle anførselstegnene må det være et tegn og bare ett tegn. Du kan ikke bruke tomme enkeltanførselstegn.

Eksempler:

Kode Forklaring
'A'
En bokstavelig hvis type er røye. Den inneholder den latinske bokstaven 'A'.
'@' 
En bokstavelig hvis type er røye. Den inneholder '@'-symbolet
'' 
En bokstavelig hvis type er røye. Den inneholder et japansk tegn. Og dette er også mulig.
'\u1f3a'
En bokstavelig hvis type er røye. Den inneholder et Unicode-tegn spesifisert av nummeret.

Det siste eksemplet tildeler et Unicode-tegn ved hjelp av en spesiell notasjon: først har vi prefikset \u, etterfulgt av 4 heksadesimale tegn. De neste leksjonene inneholder detaljert informasjon om dette.