Programování v jazyce Java

Kurz programování v Javě - 6. díl

 Úvodem  |  Kurz programování v Javě  |  Soubory ke stažení  |  Otázky a odpovědi

 

Úvod

Vítejte u šestého pokračování kurzu pro začátečníky, dnes probereme literály a klíčová slova.

Literály

Literál je hodnota zapsaná do zdrojového kódu, která se přiřadí proměnné. Hodnota může být jednoduchého datového typu, objektového typu String, nebo typu null.

Literály
Literály Reprezentují
celočíselné celá čísla
reálné čísla s desetinnou částí
logické dvě hodnoty: true a false
znakové znaky
řetězcové řetězce
null "nic"


Celočíselné literály

Celočíselné literály mohou být zapsány třemi způsoby a to buď v desítkové soustavě (decimální), nebo šestnáctkové (hexadecimální), nebo osmičkové (oktalové). Nesmí obsahovat desetinnou tečku, protože by to byl literál reálných čísel. Také nesmí obsahovat žádné mezery, pouze čísla. Můžou obsahovat znaménko + nebo - před literálem (unární plus nebo mínus).

Celočíselné literály
Typ zápisu Možnosti zápisu
desítkový 0 - 9
šestnáckový 0 X 0 - 9 a A - F
osmičkový 0 + 0 - 7

Celočíselný literál je automaticky typu int, pokud chcete typ long musíte za literál napsat l nebo L, ale velké L je lepší, kvůli tomu, že si ho nelze splést s 1 (jedničkou, záleží na fontu).

V desítkovém zápisu literálů lze použít znak 0 a všechny znaky číslic od 1 do 9, např.: 1803.

Šestnáctkový začíná znaky 0x nebo 0X (nula a x) za kterými následuje šestnácková číslice. Šestnáctková číslice může obsahovat znay číslic 0 až 9, číslice 10 až 15 jsou reprezentováný znaky a/A až f/F, na velikosti písmen nezáleží, ale je lepší používat buď velká, nebo malá písmena, protože to bude přehlednější.

Poslední zápis je zápis osmičkový, pro ten můžete použít jen čísla 0 až 7. Osmičkový zápis musí začínat nulou.

Teď následuje pár příkladů zápisů:

Příklady použití celočíselných literálů
...
	  
int a = 39206;		  // desítkový zápis
int b = - 946;
long al = 483L;		  // literál typu long

int c = 0X6AF;		  // šestnáctkový zápis
int d = - 0X84B;
long bl = - 0XA94L;	  // literál typu long

int e = 0463;		  // osmičkový zápis
int f = - 0672;
long cl = 0128L;	  	  // literál typu long
	  
...
	  

U těchto případů deklarace proměnných typu long se nemusel použít literál typu long, protože by se automaticky přetypoval z typu int (stejně jako na všechny "menší", pokud se rozsahem vejdou), zde to bylo použito pouze jako ukázka (ale zápis je to správný).


Literály reálných čísel

Literály reálných čísel reprezentují hodnoty čísel s desetinnou čátí. Odlišíme je od celočíselných literálu, tím, že obsahují buď destinnou tečku, nebo exponent. Implicitně jsou literály reálných čísel typu double, pokud chcete literál typu float musíte za literál napsat znak f (malé nebo velké, je to jedno). Pro přehlednost můžete literály typu double psát s d/D.

Literály reálných čísel
Příklady zápisů Matematický význam
8.6 8,6
.5 0,5
3. 3,0
1.5e10 / 1.5E10 1,510
3e-6 / 3E-6 3-6

Pokud by vám nebylo něco jasné na číslech s exponentem, je to jednoduché, napíšeme číslo, za číslo malé, nebo velké E a pak už jen kladný, nebo záporný exponent. Např.: 1000 se napíše 10e3.

Příklad použítí literálů reálných čísel
...

float f1 = 34.62f;
float f2 = 3.f;
double d1 = 6.8e10d;
double d2 = .4;

...
	  

Všechny tyto možnosti jsou možné, ale jak jsem již několikrát řekl, vyberte si jednu možnost, a té se držte. Nemusíte stále používat jednu možnost, ale v jednom programu určitě ano, např. pište všechny "doplňkové" znaky (nečíselné) malé, nebo velké.

Zápis .4 nelze napsat bez desetinné tečky, protože by to byl celočíselný literál.


Logické literály

Logické literály jsou dva: true a false. Těchto hodnot může nabývat pouze proměnná typu boolean. Sice true a false nepatří mezi klíčová slova, ani by neměli, protože to jsou literály, nelze je, stejně jako ostatní literály použít jako identifikátory.

Logické literály
Literál Význam
true pravda
false nepravda
Příklad použití logických literálů
...
	  
boolean b1 = true;
boolean b2 = false;

...
	  

Znakové literály

Znakové literály využijeme všude tam, kde je očekávána proměnná typu char. Java používá znakovou sadu Unicode, to znamená, že každý znak má přiděleno 16 bitů paměti, to dohromady dává 65536 znaků. Když chceme proměnné typu char přiřadit nějaký znak uzavřeme ho do jednoduchých uvozovek. Mimo znaků existují speciální znaky, které se vyjadřují pomocí escape sekvencí. Escape sekvence obsahuje jako první znak vždy zpětné lomítko a jeden další znak, např.: '\n' pro nový řádek. Unicode znaky lze psát přímo pomocí čísel, které jednotlivé znaky reprezentují, začínájící zpětným lomítkem, následujícím znakem u a čtyřmístným hexadecimálním číslem reprezentujícím znak, např.: '\u06AE'.

Znakové literály
Zápis Poznámka
'znak' lze použít všechny znaky kromě znaku ' (apostrof) a \ (zpětné lomítko)
'escape sekvence' znaková, unicode, nebo oktalová

Příklad použití znakových literálů
...

char ch1 = 'A';  // znak A
char ch2 = 65;  // znak A pomocí jeho čísla v sadě Unicode reps. ASCII
char ch3 = '\u0041';  // znak A

...
	  

Řetězcové literály

Používají se tam, kde potřebujeme textový řetězec. Uvozují se do normálních uvozovek ". Řetězec se může skládat ze žádného, jednoho nebo více znaků. Protože se řetězec skládá z jednotlivých znaků, platí pro řetězce stejné zápisy jako pro znaky. Mezi uvozovkami můžete psát znaky a escape sekvence dohromady.

Řetězcové literály
Zápis Poznámka
"řetězec" lze použít všechny znaky kromě znaku ' (apostrof) a \ (zpětné lomítko)

Příklad použití řetězcových literálů
...
	  
String s1 = "\u0041hoj"; // Ahoj
String s2 = "\t";
String s3 = "Dlouhy\nretezec";

...
	  

Nullový literál

Tento literál má pouze tvar null. Jeho použítí uvidíte až s objekty. Pro představu jak se používá, zde uvádím příklad obkjektu typu String.

Příklad použití null
...
	  
String s = null;
	  
...
	  

Nezapomeňte, že null je literál, nelze jej tedy použít jako identifikátor.


Escape sekvence

Escape sekvence se používají ve znakových a řetězcových literálech. Je to více znaků reprezentující jeden znak. Pokud třeba potřebuje proměnnou typu char a v ní mít uložený znak tabulátor, právě například na takové věci jsou escape sekvence. V následující tabulce najdete všechny escape sekvence speciálních znaků, které lze použít.

Escape sekvence
Escape sekvence Unicode esc. sekvence Význam
\b \u0008 backspace - BS
\t \u0009 tabulátor - HT
\n \u000A linefeed - LF
\f form feed - FF
\r \u000D carriage return - CR
\" \u0022 uvozovky - "
\' \u002C jednoduché uvozovky - '
\\ \u005C backslash (zpětné lomítko) - \
Oktalové escape sekvence - Lze použít stejné jako v prog. jazyku C, všechny lze
vyjádřit Unicode esc. sekvencemi
Unicode escape sekvence - znaky \u0000 až \u00FF jsou vyhrazeny pro
esc. sekvence


Klíčová slova

Klíčová slova jsou slova rezervovaná v jazyce Java, které nelze použít jako identifikátory. Zezačátku byly rezervovány i některá jiná slova.

Klíčová slova v Javě
	  
abstract    default    if            private      this
boolean     do         implements    protected    throw
break       double     import        public       throws
byte        else       instanceof    return       transient
case        extends    int           short        try
catch       final      interface     static       void
char        finally    long          strictfp     volatile
class       float      native        super        while
const       for        new           switch
continue    goto       package       synchronized
	  

Slova const, goto, zatím nejsou použita v Javě, ale jsou rezervována, tak je nelze použít.


Závěr

Dostali jsme se na konec 6. dílu o programování v Javě. Probrali jsme literály, které možná moc zábavné nebyli :-), ale je dobré znát jejich možné zápisy, protože při programování už nebude čas na to, abyste stále hledali různé možnosti zápisů. Klíčová slova je také dobré znát, protože chyba v programu, kde jste jako název proměnné použili klíčové slovo, může být zákeřná.



Alen Dvořák