Předcházející kapitola
Obsah
Následující kapitola
Kapitola 2
Základní programové struktury
2.1 Základní schéma programu
- Program v Javě obsahuje jednu nebo více definicí třídy.
- Pouze jedna třída však může být deklarována jako public. Tato třída musí nést stejné
jméno jako zdrojový soubor (.java).
- Každá třída je kompilována do samostatného souboru (.class)
- Binární tvar třídy musí být uložen buď v aktuálním adresáři aplikace nebo v adresáři
shodujícím se se jménem balíku (package).
Např.: java.awt.Canvas = > java\awt\Canvas.class
2.2 Identifikátory, klíčová slova a konstanty
2.2.1 Identifikátory
- Mají neomezenou délku.
- Mohou se skládat z písmen abecedy, číslic a znaků _ a $.
- Rozlišují se malá a velká písmena (case sensitive).
- Musí začínat písmenem nebo znakem _ (podtržítkem).
2.2.2 Klíčová slova
Klíčová slova jsou sekvence znaků, které jsou reservovány a
nemohou být tedy použity jako identifikátory. Jde o následující
řetězce znaků
abstract default goto operator synchronized
boolean do if outer this
break double implements package throw
byte else import private throws
byvalue extends inner protected transient
case false instanceof public true
cast final int rest try
catch finally interface return var
char float long short void
class for native static volatile
const future new super while
continue generic null switch
Klíčová slova const a goto nejsou sice využita, ale
jsou reservována z důvodu zvýšení podobnosti syntaxe s jazyky C a
C++ a tím k prevenci možných chyb. Další nepoužitá klíčová slova
jsou reservována pro budoucí možné využití.
- Celočíselné
- Znakové
- Řetězcové
- Racionální
- Logické
- Třídy
2.3 Operátory, separátory a komentáře
Java podporuje všechny standartní operátory jazyka C. Operátory
můžeme rozdělit do následujcích skupin
- Aritmetické
| Operátor | Použití | Popis |
| + | op1 + op2 | součet operandů op1 a op2 |
| - | op1 - op2 | rozdíl operandů op1 a op2 |
| * | op1 * op2 | součin operandů op1 a op2 |
| / | op1 / op2 | podíl operandů op1 a op2 |
| % | op1 % op2 | zbytek po dělení op1 operandem op2 |
| + | +op | indikace kladné hodnoty |
| - | -op | aritmetická negace operandu |
| ++ | op++ | zvýšení op o 1 po jeho vyhodnocení |
| ++ | ++op | zvýšení op o 1 před jeho vyhodnocením |
| - | op- | snížení op o 1 po jeho vyhodnocení |
| - | -op | snížení op o 1 před jeho vyhodnocením |
- Logické
| Operátor | Použití | Popis |
| && | op1 && op2 | logický součin (AND) |
| || | op1 || op2 | logický součet (OR) |
| ! | !op | logická negace (NOT) |
- Relační
| Operátor | Použití | Popis |
| > | op1 > op2 | op1 je větší než op2 |
| > = | op1 > = op2 | op1 je větší než nebo roven op2 |
| < | op1 < op2 | op1 je menší než op2 |
| < = | op1 < = op2 | op1 je menší než nebo roven op2 |
| == | op1 == op2 | op1 a op2 jsou si rovné |
| != | op1 != op2 | op1 a op2 si nejsou rovné |
- Bitové
| Operátor | Použití | Popis |
| >> | op1 >> op2 | bitový posuv op1 doprava o op2 bitů |
| << | op1 << op2 | bitový posuv op1 doleva o op2 bitů |
| >> > | op1 >> > op2 | jako >> , ale neznaménkově |
| & | op1 & op2 | bitový AND |
| | | op1 | op2 | bitový OR |
| ^ | op1 ^ op2 | bitový XOR |
| ~ | ~ op | bitový doplněk |
- Ostatní
Operátor přetypování - přetypuje operand na typ uvedený v závorkách.
(typ) operand
Ternární operátor - podmíněný operátor, který vyhodnotí výraz1 v případě, že podmínka nabývá hodnoty true a výraz2 v případě hodnoty false.
podmínka ? výraz1 : výraz2
Operátor přiřazení
Operátor new - slouží k vytvoření objektu.
2.3.2 Separátory
Jako separátory označujeme následujících devět znaků:
( ) { } [ ] ; , .
Komentáře jsou speciální sekvence znaků označující text, který je
překladačem ignorován. Java umožňuje použití tří typů komentářů:
2.4 Bloky Příkazů
2.5 Datové typy
Java má silnou typovou kontrolu, což znamená, že pro každou proměnnou i pro každý výraz je
znám výsledný typ již v čase kompilace. V Javě rozeznáváme dva druhy datových typů, primitivní
datové typy a datové typy určené referencí. Než se jim budeme blíže věnovat, je třeba poznamenat
ještě jednu věc (především pro ty kteří se již setkali s C/C++), a to že Java nemá ukazatele.
- Primitivní datové typy
Jsou určeny svou hodnotou, která je uložena v aktuální proměnné.
| Datový typ | Hodnota | Implicitně | Velikost |
| boolean | true nebo false | false | 1 bit |
| char | unicode character | \u0000 | 16 bits |
| byte | signed integer | 0 | 8 bits |
| short | signed integer | 0 | 16 bits |
| int | signed integer | 0 | 32 bits |
| long | signed integer | 0 | 64 bits |
| float | floating point | 0.0 | 32 bits |
| double | floating point | 0.0 | 64 bits |
- Datové typy určené referencí
Jsou určeny svou referencí, v aktuální proměnné je tedy uložena jejich paměťová adresa. Tyto
typy pak rozdělujeme na pole a objekty. Jejich implicitní hodnota je nastavena
na null.
Objekt je základní, jedinečnou a jednoznačně identifikovatelnou
entitou. Objekt je dán svým jménem a typem. K definování typu
objektu slouží jméno třídy nebo rozhraní. Blíže se objektům budeme
věnovat v kapitole 3.
Pole jsou speciálními případy objektů. Jsou potomky třídy
java.lang.Object. Mohou být deklarována buď staticky nebo
dynamicky. V obou případech je však paměť alokována dynamicky a
rovněž v obou případech je pole automaticky zrušeno, jestliže na
něho již neexistuje odkaz. Podrobněji se polím budeme věnovat v
kapitole 4.
2.6 Zpracování chybových stavů
Zpracování chybových stavů zajišťuje Java pomocí výjimek. Výjimka je událost, která se vyskytne
během provádění programu a přeruší normální tok instrukcí. Tok programu se za této situace
přesměruje z místa vzniku chyby na místo v programu, kde bude chyba rozpoznána, zpracována a
kde se nachází kód potřebný k zotavení programu z této chyby. Práce s výjimkami lze rozdělit
do několika částí.
- Definice výjimky
- Deklarace výjimky
- Propagace (vyvolání) výjimky
- Definice kritické části kódu
- Odchycení a zpracování výjimky
Blíže se výjimkám budeme věnovat v kapitole 6.
Předcházející kapitola
Obsah
Následující kapitola