Obsah. Kapitola 1. Kapitola 2

Podobné dokumenty
Obsah. Úvod 11 Základy programování 11 Objektový přístup 11 Procvičování 11 Zvláštní odstavce 12 Zpětná vazba od čtenářů 12 Errata 13

O autorovi O odborném korektorovi Úvod 17 Vývoj jazyka Java Java SE 8 Struktura této knihy Předchozí zkušenosti s programováním nejsou potřebné

Předmluva k aktuálnímu vydání Úvod k prvnímu vydání z roku Typografické a syntaktické konvence... 20

Algoritmizace, základy programování, VY_32_INOVACE_PRG_ALGO_01

Obsah. Začínáme programovat v Ruby on Rails 9. Úvod Vítejte v Ruby 15. O autorovi 9 Poděkování 9

Obsah. Předmluva 13 Zpětná vazba od čtenářů 14 Zdrojové kódy ke knize 15 Errata 15

Maturitní otázky z předmětu PROGRAMOVÁNÍ

Obsah. O auto ro vi 13 V ěnování 14 Poděkování 15 Z p ětn á vazba od čtenářů 16. P rogram ování pro M in ecraft v Jávě 17

Stručný obsah. Část I. Část II. Část III. Úvod do vývoje v prostředí Visual Studio 25. Návrh uživatelského rozhraní 127

Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně bude věnována pozornost rozhraním a výjimkám.

Stručný obsah První týden Druhý týden 211 Třetí týden 451 Rejstřík 787

Platforma.NET 11.NET Framework 11 Visual Basic.NET Základní principy a syntaxe 13

Maturitní témata Školní rok: 2015/2016

Vzdělávací oblast: Informatika a informační a komunikační technologie Vzdělávací obor: Programování. Předmět: Programování

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ

Obsah. Kapitola 1. Kapitola 2. Kapitola 3. Kapitola 4. Úvod 11. Stručný úvod do relačních databází 13. Platforma 10g 23

Profilová část maturitní zkoušky 2017/2018

Informace k e-learningu

1 Webový server, instalace PHP a MySQL 13

Úvodem... 9 Kapitola 1 Karetních

OBSAH. Kontrola aktualizací... 18

Obsah. 1 Úvod do Visia Práce se soubory 47. Předmluva 11 Typografická konvence použitá v knize 13

2.2 Acronis True Image 19

OBJEKTOVÉ PROGRAMOVÁNÍ V C++ V PŘÍKLADECH 8 Proudová knihovna 8.1 Hierarchie proudů Standardně zavedené proudy

Java/QE Akademie - Osnova

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

Ukazka knihy z internetoveho knihkupectvi

2. Modelovací jazyk UML 2.1 Struktura UML Diagram tříd Asociace OCL. 3. Smalltalk 3.1 Jazyk Pojmenování

Matematika v programovacích

Vstupní požadavky, doporučení a metodické pokyny

10 Balíčky, grafické znázornění tříd, základy zapozdření

Stručný obsah. Úvod 15. KAPITOLA 1 První kroky v systému Windows KAPITOLA 2 Hlavní panel a jeho možnosti 41. KAPITOLA 3 Soubory a složky 51

PROGRAMOVÁNÍ V JAZYCE C V PŘÍKLADECH 11 Dynamické datové struktury 11.1 Spojové struktury Příklad PROG_

Microsoft Access tvorba databáze jednoduše

6. Problém typové anonymity prvků v kolekci Sjednocení typově rozdílných prvků pomocí rozhraní Kolekce pro jeden typ prvků...

1/1 ČESKÁ ZEMĚDĚLSKÁ UNIVERZITA V PRAZE PROVOZNĚ EKONOMICKÁ FAKULTA PŘIJÍMACÍ ŘÍZENÍ 2017/2018

Základy databází. O autorech 17 PRVNÍ ČÁST. KAPITOLA 1 Začínáme 19

Regulární výrazy. Vzory

Obsah přednášky 7. Základy programování (IZAPR) Přednáška 7. Parametry metod. Parametry, argumenty. Parametry metod.

ZAŘÍZENÍ PRO VZDÁLENÝ SBĚR A PŘENOS DAT FIRMWARE

ČÁST 1. Základy 32bitového programování ve Windows

8 Třídy, objekty, metody, předávání argumentů metod

Úvodem 9. Zpětná vazba od čtenářů 10 Zdrojové kódy ke knize 10 Errata 10. Než začneme 11

Obsah. Předmluva Začínáme: překlad, spuštění a ladění 27

Microsoft Word základní

Správné vytvoření a otevření textového souboru pro čtení a zápis představuje

1. Programování proti rozhraní

DSL manuál. Ing. Jan Hranáč. 27. října V této kapitole je stručný průvodce k tvorbě v systému DrdSim a (v

Úvod do jazyka C. Ing. Jan Fikejz (KST, FEI) Fakulta elektrotechniky a informatiky Katedra softwarových technologií

Osnova kurzu OBSLUHA PC ZÁKLADNÍ ZNALOSTI. pilotního projektu v rámci I. Etapy realizace SIPVZ

Počítačové laboratoře bez tajemství aneb naučme se učit algoritmizaci a programování s využitím robotů CZ.1.07/1.3.12/

TÉMATICKÝ OKRUH Softwarové inženýrství

Klíčová slova: OOP, konstruktor, destruktor, třída, objekt, atribut, metoda

Obsah. Předm luva 3. Obsah \ 6

Vzdělávací oblast: Informatika a informační a komunikační technologie Vzdělávací obor: Programování Předmět: Programování

Název předmětu: Školní rok: Forma studia: Studijní obory: Ročník: Semestr: Typ předmětu: Rozsah a zakončení předmětu:

Nové jazykové brány do Caché. Daniel Kutáč

Z. Kotala, P. Toman: Java ( Obsah )

Profilová část maturitní zkoušky 2013/2014

ČÁST 1 ÚVOD. Instalace operačního systému 21 Aktualizace operačního systému 57 Příkazový řádek 77 Windows Script Host 103 ČÁST 2 ŘEŠENÍ

Obsah. Kapitola 1 Hardware, procesory a vlákna Prohlídka útrob počítače...20 Motivace pro vícejádrové procesory...21

StruËn obsah. Část I JavaCo? Vše ohledně JavaScriptu 17. Část II Použití JavaScriptu v praxi 91

1. Webový server, instalace PHP a MySQL 13

Úvod do programovacích jazyků (Java)

Předměty. Algoritmizace a programování Seminář z programování. Verze pro akademický rok 2012/2013. Verze pro akademický rok 2012/2013

Kurz je rozdělen do čtyř bloků, které je možné absolvovat i samostatně. Podmínkou pro vstup do kurzu je znalost problematiky kurzů předešlých.

Obsahy kurzů MS Office

Programování v C++, 2. cvičení

Obsah. Úvod 11 O autorovi 11 Koncept knihy 11 Zpětná vazba od čtenářů 12 Zdrojové kódy ke knize 12 Errata 12 ČÁST I VÝVOJ MOBILNÍ APLIKACE

1. Téma 03 - Rozhodování

Jak v Javě primitivní datové typy a jejich reprezentace. BD6B36PJV 002 Fakulta elektrotechnická České vysoké učení technické

Semestrální práce 2 znakový strom

3. Je defenzivní programování technikou skrývání implementace? Vyberte jednu z nabízených možností: Pravda Nepravda

IUJCE 07/08 Přednáška č. 4. v paměti neexistuje. v paměti existuje

Pointery II. Jan Hnilica Počítačové modelování 17

monolitická vrstvená virtuální počítač / stroj modulární struktura Klient server struktura

IRAE 07/08 Přednáška č. 1

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

Komu je tato kniha určena? Jak je kniha uspořádána? Konvence použité v té to knize. Část i základy Microsoft Windows XP Professional

11 Diagram tříd, asociace, dědičnost, abstraktní třídy

MS WINDOWS I. řada operačních systémů firmy Microsoft *1985 -? Historie. Práce ve Windows XP. Architektura. Instalace. Spouštění

Co je Symantec pcanywhere 12.0? Hlavní výhody Snadné a bezpečné vzdálené připojení Hodnota Důvěra

Obsah. Úvod 9 Komu je kniha určena 11 Konvence použité v knize 11

Nastavení provozního prostředí webového prohlížeče pro aplikaci

Struktura programu v době běhu

OPERAČNÍ SYSTÉM. Informační a komunikační technologie

Testovací protokol. webový generátor PostSignum. sada PIIX3; 1 GB RAM; harddisk 20 GB IDE OS: Windows Vista Service Pack 2 SW: Internet Explorer 9

Obsah ZÁKLADNÍ DESKA. O autorech 11 Úvod 13

KOMPONENTY APLIKACE TreeINFO. Petr Štos ECM Business Consultant

Klíčová slova: dynamické internetové stránky, HTML, CSS, PHP, SQL, MySQL,

VISUAL BASIC. Přehled témat

Proces vývoje HRIS Vema (Human Resources Information System) Jaroslav Šmarda

ŠKOLENÍ PROGRAMOVACÍHO JAZYKA JAVA JAVA - ZÁKLADY

Obsah. Začínáme. 1 Úvod do Adobe Acrobatu. 2 Zkoumáme pracovní plochu

Programování v C++ Úplnej úvod. Peta (maj@arcig.cz, SPR AG )

Hotelová škola, Obchodní akademie a Střední průmyslová škola Teplice, Benešovo náměstí 1, p.o. III/2 - Inovace a zkvalitnění výuky prostřednictvím ICT

První kapitola úvod do problematiky

Vyřešené teoretické otázky do OOP ( )

Část IV - Bezpečnost 21. Kapitola 19 Bezpečnostní model ASP.NET 23

Transkript:

Stručný obsah Předmluva...17 Úvod...19 Začínáme...25 Koncepce objektově orientovaného programování...51 Základy jazyka...59 Třídy a objekty...91 Rozhraní a dědičnost... 133 Genericita... 155 Balíčky... 167 Čísla a řetězce... 177 Výjimky...209 Základy vstupu a výstupu... 231 Kolekce...259 Souběžnost... 319 Regulární výrazy...349 Prostředí platformy Java...381 Rozhraní Swing...397 Balení programů do souborů JAR... 419 Java Web Start...445 Aplety...463 Klíčová slova jazyka Java...513 Příprava na zkoušku Java Programming Language Certification...515 Rejstřík...525

Obsah Předmluva 17 Úvod 19 Komu je tato kniha určena?...19 Jak používat tuto knihu... 20 Disk CD Kurz jazyka Java...21 Poděkování...22 O autorech...22 Kapitola 1 Začínáme 25 1.1 Fenomén technologie Java...25 1.1.1 Principy technologie Java...25 1.1.2 Možnosti technologie Java...27 1.1.3 Co znamená technologie Java pro mne?...28 1.2 Aplikace Ahoj, světe!...28 1.2.1 Ahoj, světe! v prostředí NetBeans IDE...28 1.2.2 Ahoj, světe!" pro Microsoft Windows...35 1.2.3 Ahoj, světe! pro Solaris OS a Linux...40 1.3 Podrobnější pohled na aplikaci Ahoj, světe!... 44 1.3.1 Komentáře zdrojového kódu...44 1.3.2 Definice třídy AhojSveteApp...45 1.3.3 Metoda main...45 1.4 Běžné problémy (a jejich řešení)... 46 1.4.1 Problémy kompilátoru...46 1.4.2 Problémy při běhu...48 1.5 Otázky a cvičení: Začínáme... 49 1.5.1 Otázky...49 1.5.2 Cvičení...50 1.5.3 Odpovědi...50 Kapitola 2 Koncepce objektově orientovaného programování 51 2.1 Co to je objekt?...51 2.2 Co to je třída?...53 2.3 Co to je dědičnost?...54 2.4 Co to je rozhraní?...55 2.5 Co to je balíček?...56

6 Obsah 2.6 Otázky a cvičení: Koncepce objektově orientovaného programování...57 2.6.1 Otázky...57 2.6.2 Cvičení...57 2.6.3 Odpovědi...57 Kapitola 3 Základy jazyka 59 3.1 Proměnné... 59 3.1.1 Pojmenování... 60 3.1.2 Základní datové typy...61 3.1.3 Pole... 64 3.1.4 Souhrn proměnných...67 3.1.5 Otázky a cvičení: Proměnné... 68 3.2 Operátory... 68 3.2.1 Operátory přiřazení, aritmetické a unární operátory... 69 3.2.2 Operátory rovnosti, relační a podmínkové operátory... 72 3.2.3 Bitové operátory a operátory bitového posunu...74 3.2.4 Souhrn operátorů... 75 3.2.5 Otázky a cvičení: Operátory...76 3.3 Výrazy, příkazy a bloky...77 3.3.1 Výrazy...77 3.3.2 Příkazy... 78 3.3.3 Bloky... 79 3.3.4 Otázky a cvičení: Výrazy, příkazy a bloky... 79 3.4 Příkazy řízení toku... 80 3.4.1 Příkazy if-then a if-then-else... 80 3.4.2 Příkaz switch...81 3.4.3 Příkazy while a do-while... 83 3.4.4 Příkaz for... 84 3.4.5 Příkazy větvení... 86 3.4.6 Souhrn příkazů řízení toku... 89 3.4.7 Otázky a cvičení: Příkazy řízení toku... 90 Kapitola 4 Třídy a objekty 91 4.1 Třídy... 91 4.1.1 Deklarace tříd... 92 4.1.2 Deklarace členských proměnných... 93 4.1.3 Definice metod... 95 4.1.4 Poskytnutí konstruktorů vlastním třídám... 96 4.1.5 Předání informací metodě nebo konstruktoru...97 4.2 Objekty...101 4.2.1 Vytvoření objektů...102 4.2.2 Použití objektů...105 4.3 Další informace o třídách...107 4.3.1 Vrácení hodnoty z metody...108 4.3.2 Použití klíčového slova this...109 4.3.3 Řízení přístupu k členským proměnným třídy...111 4.3.4 Seznámení s instančními členy a členy třídy...112

Obsah 7 4.3.5 Inicializace datových složek...116 4.3.6 Souhrn vytváření a použití tříd a objektů...117 4.3.7 Otázky a cvičení: Třídy...118 4.3.8 Otázky a cvičení: Objekty...119 4.4 Vnořené třídy... 120 4.4.1 Proč používat vnořené třídy?...121 4.4.2 Statické vnořené třídy...121 4.4.3 Vnitřní třídy...121 4.4.4 Příklad vnitřní třídy... 122 4.4.5 Souhrn vnořených tříd...124 4.4.6 Otázky a cvičení: Vnořené třídy... 125 4.5 Výčtové typy... 125 4.5.1 Otázky a cvičení: Výčtové typy... 128 4.6 Anotace... 128 4.6.1 Dokumentace... 129 4.6.2 Anotace používané kompilátorem... 130 4.6.3 Zpracování anotací...131 4.6.4 Otázky a cvičení: Anotace... 132 Kapitola 5 Rozhraní a dědičnost 133 5.1 Rozhraní... 133 5.1.1 Rozhraní v jazyku Java... 133 5.1.2 Rozhraní jako standardy API... 134 5.1.3 Rozhraní a vícenásobná dědičnost... 135 5.1.4 Definice rozhraní... 135 5.1.5 Implementace rozhraní...136 5.1.6 Použití rozhraní jako typu...137 5.1.7 Překrývání rozhraní... 138 5.1.8 Souhrn rozhraní... 139 5.1.9 Otázky a cvičení: Rozhraní... 139 5.2 Dědičnost...140 5.2.1 Hierarchie tříd platformy Java... 140 5.2.2 Příklad dědičnosti...141 5.2.3 Možnosti podtříd... 142 5.2.4 Soukromé členy v nadtřídě... 142 5.2.5 Přetypování objektů... 143 5.2.6 Překrývání a ukrývání metod... 144 5.2.7 Ukrývání datových složek... 145 5.2.8 Použití klíčového slova super... 145 5.2.9 Třída Object jako nadtřída...147 5.2.10 Psaní finálních tříd a metod... 150 5.2.11 Abstraktní metody a třídy...151 5.2.12 Souhrn dědičnosti... 153 5.2.13 Otázky a cvičení: Dědičnost... 153

8 Obsah Kapitola 6 Genericita 155 6.1 Úvod...155 6.1.1 Jednoduchá třída Box...155 6.2 Generické typy... 157 6.2.1 Konvence parametrů typu...158 6.3 Generické metody a konstruktory...159 6.4 Parametry vázaného typu...160 6.5 Podtypy... 161 6.6 Zástupné znaky...162 6.7 Mazání typu...163 6.8 Souhrn genericity...165 6.9 Otázky a cvičení: Genericita...165 6.9.1 Otázky...165 6.9.2 Cvičení...166 6.9.3 Odpovědi...166 Kapitola 7 Balíčky 167 7.1 Vytvoření a použití balíčků... 167 7.1.1 Vytvoření balíčku...168 7.1.2 Pojmenování balíčku...169 7.1.3 Použití členů třídy... 170 7.1.4 Správa zdrojových souborů a souborů tříd... 173 7.1.5 Souhrn vytvoření a použití balíčků... 175 7.1.6 Otázky a cvičení: Vytvoření a použití balíčků... 175 Kapitola 8 Čísla a řetězce 177 8.1 Čísla... 177 8.1.1 Číselné třídy... 177 8.1.2 Formátování tiskového výstupu čísel...180 8.1.3 Složitější aritmetika...183 8.1.4 Souhrn čísel...187 8.1.5 Otázky a cvičení: Čísla...188 8.2 Znaky...189 8.2.1 Sekvence escape...190 8.3 Řetězce...190 8.3.1 Vytvoření řetězců... 191 8.3.2 Délka řetězce... 191 8.3.3 Zřetězení řetězců...192 8.3.4 Vytvoření formátovacích řetězců...193 8.3.5 Převod mezi čísly a řetězci...193 8.3.6 Manipulace se znaky v řetězci...195 8.3.7 Porovnání řetězců a částí řetězců...200 8.3.8 Třída StringBuilder...201

Obsah 9 8.3.9 Souhrn znaků a řetězců...205 8.3.10 Otázky a cvičení: Znaky a řetězce...206 Kapitola 9 Výjimky 209 9.1 Co to je výjimka?...209 9.2 Požadavek zachytit nebo určit... 210 9.2.1 Tři druhy výjimek... 210 9.2.2 Jak se vyhnout požadavku zachytit nebo určit...211 9.3 Zachycení a zpracování výjimek... 211 9.3.1 Blok try...212 9.3.2 Bloky catch...213 9.3.3 Blok finally... 214 9.3.4 Spojení výše uvedených postupů... 215 9.4 Určení výjimky způsobené metodou... 218 9.5 Postup způsobení výjimek...219 9.5.1 Příkaz throw... 219 9.5.2 Třída Throwable a její podtřídy...220 9.5.3 Třída Error...220 9.5.4 Třída Exception...220 9.5.5 Zřetězené výjimky... 221 9.5.6 Vytvoření tříd výjimek...222 9.6 Nekontrolované výjimky kontroverze...223 9.7 Výhody výjimek...224 9.7.1 Výhoda 1: Oddělení kódu obsluhy chyb od běžného kódu... 224 9.7.2 Výhoda 2: Šíření chyb v zásobníku volání směrem nahoru...226 9.7.3 Výhoda 3: Seskupení a rozlišení typů chyb... 227 9.8 Souhrn...228 9.9 Otázky a cvičení: Výjimky...229 9.9.1 Otázky...229 9.9.2 Cvičení...230 9.9.3 Odpovědi...230 Kapitola 10 Základy vstupu a výstupu 231 10.1 V-V proudy... 231 10.1.1 Bajtové proudy...232 10.1.2 Znakové proudy...234 10.1.3 Proudy s vyrovnávací pamětí... 237 10.1.4 Skenování a formátování...238 10.1.5 Vstup a výstup z příkazového řádku... 244 10.1.6 Datové proudy... 246 10.1.7 Objektové proudy... 248 10.2 V-V operace se soubory... 251 10.2.1 Objekty File... 251 10.2.2 Soubory s náhodným přístupem...254

10 Obsah 10.3 Nové balíčky vstupu a výstupu...256 10.4 Souhrn...256 10.5 Otázky a cvičení: Základy vstupu a výstupu...257 10.5.1 Otázky...257 10.5.2 Cvičení...257 10.5.3 Odpovědi...257 Kapitola 11 Kolekce 259 11.1 Úvod do kolekcí...259 11.1.1 Co to je platforma Collections Framework?...259 11.1.2 Výhody platformy Java Collections Framework...260 11.2 Rozhraní...261 11.2.1 Rozhraní Collection...263 11.2.2 Rozhraní Set...266 11.2.3 Rozhraní List...270 11.2.4 Rozhraní Queue... 277 11.2.5 Rozhraní Map...279 11.2.6 Řazení objektů...286 11.2.7 Rozhraní SortedSet...292 11.2.8 Rozhraní SortedMap...295 11.2.9 Souhrn rozhraní...296 11.2.10 Otázky a cvičení: Rozhraní...297 11.3 Implementace...298 11.3.1 Implementace rozhraní Set...299 11.3.2 Implementace rozhraní List...301 11.3.3 Implementace rozhraní Map...302 11.3.4 Implementace rozhraní Queue...303 11.3.5 Obálkové implementace...304 11.3.6 Praktické implementace...306 11.3.7 Souhrn implementací...307 11.3.8 Otázky a cvičení: Implementace...308 11.4 Algoritmy...309 11.4.1 Řazení...309 11.4.2 Promíchání...311 11.4.3 Rutinní manipulace s daty...311 11.4.4 Hledání...311 11.4.5 Testy složení... 312 11.4.6 Hledání extrémních hodnot... 312 11.5 Vlastní implementace rozhraní Collection... 312 11.5.1 Důvody pro psaní implementace... 312 11.5.2 Jak psát vlastní implementaci... 313 11.6 Schopnost spolupráce... 315 11.6.1 Kompatibilita... 315 11.6.2 Návrh rozhraní API... 317

Obsah 11 Kapitola 12 Souběžnost 319 12.1 Procesy a podprocesy... 319 12.1.1 Procesy...319 12.1.2 Podprocesy...320 12.2 Objekty typu Thread...320 12.2.1 Definice a spuštění podprocesu...320 12.2.2 Pozastavení spuštění pomocí metody sleep()...322 12.2.3 Přerušení...322 12.2.4 Metoda join()... 324 12.2.5 Příklad SimpleThreads... 324 12.3 Synchronizace...326 12.3.1 Interference podprocesů...326 12.3.2 Chyby konzistence paměti... 327 12.3.3 Synchronizované metody...328 12.3.4 Vnitřní zámky a synchronizace...329 12.3.5 Nedělitelný přístup...330 12.4 Aktivita... 331 12.4.1 Zablokování... 331 12.4.2 Odepření zdrojů a vzájemné brzdění...332 12.5 Hlídané bloky...333 12.6 Neměnné objekty... 337 12.6.1 Příklad synchronizované třídy... 337 12.6.2 Strategie definování neměnných objektů...338 12.7 Vysokoúrovňové souběžné objekty...340 12.7.1 Objekty typu Lock...340 12.7.2 Objekty typu Executor...342 12.7.3 Souběžné kolekce...345 12.7.4 Nedělitelné proměnné...345 12.8 Další literatura...346 12.9 Otázky a cvičení: Souběžnost... 347 12.9.1 Otázky... 347 12.9.2 Cvičení... 347 12.9.3 Odpovědi...348 Kapitola 13 Regulární výrazy 349 13.1 Úvod...349 13.1.1 Co to jsou regulární výrazy?...349 13.1.2 Jak tento balíček reprezentuje regulární výrazy?...349 13.2 Testovací program...350 13.3 Doslovné hodnoty... 351 13.3.1 Metaznaky... 351 13.4 Znakové třídy...352 13.4.1 Jednoduché třídy...353 13.5 Předem definované znakové třídy...356

12 Obsah 13.6 Kvantifikátory...358 13.6.1 Shody s nulovou délkou...359 13.6.2 Zachycovací skupiny a znakové třídy s kvantifikátory...362 13.6.3 Rozdíly mezi nenasytnými, váhavými a lakomými kvantifikátory...363 13.7 Zachycovací skupiny...364 13.7.1 Číslování...364 13.7.2 Zpětné odkazy...365 13.8 Hraniční značky...365 13.9 Metody třídy Pattern...367 13.9.1 Vytvoření vzoru s příznaky...367 13.9.2 Integrované výrazy s příznaky...368 13.9.3 Použití metody matches(string,charsequence)...369 13.9.4 Použití metody split(string)...369 13.9.5 Jiné pomocné metody...370 13.9.6 Ekvivalenty metod třídy Pattern v balíčku java.lang.string... 371 13.10 Metody třídy Matcher... 371 13.10.1 Indexové metody... 371 13.10.2 Informační metody... 371 13.10.3 Metody pro nahrazení...372 13.10.4 Použití metod start() a end()...372 13.10.5 Použití metod matches() a lookingat()...373 13.10.6 Použití metod replacefirst(string) a replaceall(string)... 374 13.10.7 Metody appendreplacement(stringbuffer,string) a appendtail(stringbuffer)...375 13.10.8 Ekvivalenty metody Matcher v balíčku java.lang.string...375 13.11 Metody třídy PatternSyntaxException... 376 13.12 Souhrn...377 13.13 Další zdroje informací...378 13.14 Otázky a cvičení: Regulární výrazy...379 13.14.1 Otázky...379 13.14.2 Cvičení...379 13.14.3 Odpovědi...379 Kapitola 14 Prostředí platformy Java 381 14.1 Konfigurační nástroje...381 14.1.1 Vlastnosti...381 14.1.2 Argumenty příkazového řádku...385 14.1.3 Proměnné prostředí...386 14.1.4 Jiné konfigurační nástroje...387 14.2 Systémové nástroje...388 14.2.1 V-V objekty příkazového řádku...388 14.2.2 Systémové vlastnosti...388 14.2.3 Správce zabezpečení...391 14.2.4 Různé metody ve třídě System...392

Obsah 13 14.3 Proměnné PATH a CLASSPATH...393 14.3.1 Aktualizace proměnné PATH (Microsoft Windows NT/2000/XP)...393 14.3.2 Aktualizace proměnné PATH (Solaris a Linux)...393 14.3.3 Kontrola proměnné CLASSPATH (všechny platformy)...394 14.4 Otázky a cvičení: Prostředí platformy...395 14.4.1 Otázky...395 14.4.2 Cvičení...395 14.4.3 Odpovědi...395 Kapitola 15 Rozhraní Swing 397 15.1 Stručný úvod do sady Swing...397 15.1.1 Co to je Swing?... 397 15.1.2 Ukázka sady Swing...399 15.2 Funkce rozhraní Swing...403 15.2.1 Vizuální průvodce komponentami Swing...403 15.2.2 Proměnný vzhled...409 15.2.3 Přetažení a přenos dat...412 15.2.4 Internacionalizace a lokalizace...413 15.2.5 Zpřístupnění...415 15.2.6 Integrace s pracovní plochou...415 15.2.7 Podpora ikony v systémové oblasti...416 15.3 Otázky: Grafická uživatelská rozhraní... 417 15.3.1 15.3.1 Otázky...417 15.3.2 Odpovědi...417 Kapitola 16 Balení programů do souborů JAR 419 16.1 Použití souborů JAR: základy...420 16.1.1 Vytvoření souboru JAR... 421 16.1.2 Zobrazení obsahu souboru JAR... 424 16.1.3 Rozbalení obsahu souboru JAR...425 16.1.4 Aktualizace souboru JAR...426 16.1.5 Spuštění softwaru zabaleného do souboru JAR...428 16.2 Práce se soubory manifestu: základy...429 16.2.1 Seznámení s výchozím manifestem...429 16.2.2 Úpravy souboru manifestu...430 16.2.3 Nastavení vstupního bodu aplikace...430 16.2.4 Přidání tříd do cesty ke třídám souboru JAR...432 16.2.5 Nastavení informací o verzi balíčku...432 16.2.6 Uzavření balíčků v souboru JAR...434 16.3 Podepisování a ověřování souborů JAR...435 16.3.1 Seznámení s podepisováním a ověřováním...435 16.3.2 Podepisování souborů JAR...438 16.3.3 Ověření podepsaných souborů JAR...439 16.4 Použití rozhraní API týkajících se souborů JAR... 440 16.4.1 Příklad aplikace JarRunner...440 16.4.2 Třída JarClassLoader... 441 16.4.3 Třída JarRunner...443

14 Obsah 16.5 Otázky: Soubory JAR... 444 16.5.1 Otázky...444 16.5.2 Odpovědi...444 Kapitola 17 Java Web Start 445 17.1 Spuštění aplikací Java Web Start... 446 17.1.1 Spuštění aplikace Java Web Start z prohlížeče...446 17.1.2 Spuštění aplikace z prohlížeče Java Cache Viewer...446 17.1.3 Spuštění aplikací Java Web Start z plochy...447 17.2 Zavádění aplikací Java Web Start...447 17.2.1 Nastavení webového serveru...448 17.2.2 Vytvoření souboru JNLP...448 17.2.3 Umístění aplikace na webový server...455 17.2.4 Vytvoření webové stránky...455 17.3 Vývoj aplikací Java Web Start...456 17.3.1 Balení aplikace do souborů JAR...456 17.3.2 Čtení prostředků v souboru JAR...456 17.3.3 Nedůvěryhodné aplikace...457 17.4 Rozhraní API JNLP...457 17.5 Java Web Start a zabezpečení...459 17.5.1 Základy zabezpečení v softwaru Java Web Start...459 17.5.2 Podepisování souborů JAR pro zavádění softwarem Java Web Start...459 17.5.3 Zabezpečení a soubory JNLP...459 17.5.4 Dynamické stahování certifikátů HTTPS...459 17.6 Běžné potíže se softwarem Java Web Start... 460 17.7 Otázky a cvičení: Java Web Start...461 17.7.1 Otázky...461 17.7.2 Cvičení...461 17.7.3 Odpovědi...461 Kapitola 18 Aplety 463 18.1 Úvod do apletů... 464 18.1.1 Rozšíření třídy Applet nebo JApplet...466 18.1.2 Životní cyklus apletu...466 18.1.3 Metody zlomů životního cyklu...469 18.1.4 Metody pro vykreslování a obsluhu událostí...470 18.1.5 Metody pro přidání komponent uživatelského rozhraní...472 18.1.6 Povolené a zakázané funkce apletů... 476 18.2 Využití rozhraní API apletů...477 18.2.1 Vyhledání a načtení datových souborů... 477 18.2.2 Zobrazení krátkých stavových řetězců...478 18.2.3 Zobrazení dokumentů v prohlížeči...479 18.2.4 Odeslání zpráv jiným apletům...481 18.2.5 Přehrání zvuků...484 18.2.6 Definování a použití parametrů apletu...486 18.2.7 Použití značky APPLET...489

Obsah 15 18.3 Praktická hlediska při psaní apletů...492 18.3.1 Bezpečnostní omezení...492 18.3.2 Vytvoření uživatelského rozhraní...494 18.3.3 Získání systémových vlastností... 497 18.3.4 Podprocesy v apletech...498 18.3.5 Práce s aplikací na straně serveru...501 18.4 Dokončení apletu...504 18.4.1 Než aplet zveřejníte...504 18.4.2 Dokonale utvořený aplet...505 18.5 Zavádění apletů...506 18.5.1 Obecná hlediska zavádění...506 18.5.2 Použití značky applet...506 18.5.3 Použití značky object... 507 18.5.4 Použití značky embed...508 18.5.5 Zavádění apletů v prostředí s více prohlížeči...509 18.6 Řešení běžných potíží s aplety... 510 18.7 Otázky a cvičení: Aplety Java...512 18.7.1 Otázky...512 18.7.2 Cvičení...512 18.7.3 Odpovědi...512 Příloha A Klíčová slova jazyka Java 513 Příloha B Příprava na zkoušku Java Programming Language Certification 515 Oddíl 1: Deklarace, inicializace a obory platnosti... 516 Položka 1...516 Položka 2...516 Položka 3...516 Položka 4...517 Položka 5...517 Položka 6...517 Oddíl 2: Řízení toku...517 Položka 1...517 Položka 2...517 Položka 3... 518 Položka 4... 518 Položka 5... 518 Položka 6... 518 Oddíl 3: Obsahy rozhraní API... 518 Položka 1... 518 Položka 2...519 Položka 3...519 Položka 4...519 Položka 5...519

16 Obsah Oddíl 4: Souběžnost...520 Položka 1...520 Položka 2...520 Položka 3...520 Položka 4...520 Oddíl 5: Koncepce objektově orientovaného programování...520 Položka 1...520 Položka 2...521 Položka 3...521 Položka 4...521 Položka 5...521 Oddíl 6: Kolekce a genericita...521 Položka 1...521 Položka 2...521 Položka 3...522 Položka 4...522 Položka 5...522 Oddíl 7: Základy...522 Položka 1...522 Položka 2...523 Položka 3...523 Položka 4...523 Položka 5...523 Položka 6...523 Rejstřík 525