Fotografický magazín "iZIN IDIF" každý týden ve Vašem e-mailu.
Co nového ve světě fotografie!
Zadejte Vaši e-mailovou adresu:
Kamarád fotí rád?
Přihlas ho k odběru fotomagazínu!
Zadejte e-mailovou adresu kamaráda:
Java
Break a continue
java
21. října 2002, 00.00 | Poslední pokračování seriálu o začátcích v jazyku Java. Dnes dokončíme cykly, přesněji řečeno se zastavíme u příkazů break a continue a dále se podíváme na to, jak používat návěští.
Poznámka redaktora: tímto dílem naše seriálové povídání o začátcích v jazyku Java končí. Ve výčtu témat jistě některé schází, ovšem autor se jim většinou věnoval v některém ze svých předcházejících článků (např. řízení vyjímek, či generování javadocu). Věřím, že se s tématem Javy na stránkách Builderu ještě setkáme, a to jak již na aplikační úrovni, tak i v populárních řešeních pro www.V příkladech jsem již zmínil příkaz break či jeho bratra continue. Jejich význam v cyklech je vcelku jasný. Break okamžitě ukončí cyklus, ve kterém se právě nachází. Zatímco continue se pouze okamžitě přesunu na začátek cyklu.
Oba dva příkazy se vždy týkají pouze aktuálního (nejnižšího cyklu) ve který se nacházejí. Lze je použít ve všech třech cyklech for, while, do-while.
|
nebo
|
Návěstí
Break a continue však mají ještě další význam. Ten je spjat s návěštími1.
Dříve než se podíváme na syntaxi je nutné připomenou, že dnes už se s návěštími moc nepracuje, i když se sním dají dělat opravdu brilantní kousky. Jeho zápis neumožňuje tak snadné čtení, obzvláště jedná-li se o mnoha násobně vnořené cykly.
Syntaxe návěští v programu se zakončí dvojtečkou za ní bezprostředně následovat nějaký cyklus. Celé to má význam zhruba následujícího rázu. Návěští je de-facto jméno pro cyklus, který ho následuje. Když pak voláte ať již break či continue s názvem návěští. Pouze říkáte, aby se předal tento příkaz vámi udanému návěští. (Pro vnořený cyklus to samozřejmě znamená jeho okamžité ukončení.)
|
Vypíše to následující. Druhém kole foru se ukončí while a s ním i aktuální kolo foru, následně se přejde na nové kolo foru atd.
|
Switch
Switch je typický prostředek jak testovat proměnou zda nabývá nějakou z množství hodnot. Naneštěstí pro pascalisty je switch v Javě rozdílné od case v Pascalu. Javě se opět vzala za vzor C++.
Switch funguje, tak že u testuje vámi zadanou proměnou2 na jednotlivé hodnoty, které ji nabízíte. Když nalezne shodnou hodnotu, tak provede zadané příkazy. Následné (rozdíl oproti Pascalu) všechny následující case považuje také jako za pravdivé a tudíž je také provede.
|
Zmíněný neduh se projeví tak, že se vypíše jednadva. Lze ho odstranit tak, že za každým case bude break, pak již funguje jako v Pacalu.
|
Taky vás napadlo, že toto by se dalo taky napsat pomocí if-else-if-.... A co tohle víte, proč v case není standardně break? Protože Java neumožňuje zadat více hodnot jako jeden case. Například hodnoty 'a' až 'c' se zapíší takto:
|
Pokud by jste se chtěli ptát např. na hodnoty a až z, pak by bylo mnohem vhodnější napsat to jako if př. if ((int) my_char >= (int) 'a' && (int) my_char <= (int) 'z') { ...
Switch je možno také rozšířit o defaultní hodnotu tj. to co se má udělat jestliže žádný case nebyl vybrán jako vyhovující.
|
1. – v Pacalu label a goto. Goto je v Javě zakázané a label se nepoužívá. Místo nich se právě používají ony dva příkazy.
2. – Musí to být celočíselný typ či char.
Obsah seriálu (více o seriálu):
- Posezení u šálku kávy
- Komentáře
- Datové typy v Javě
- Operace s datovými typy
- Platnost proměnné
- Podmínky
- Cykly
- Break a continue
-
25. listopadu 2012
-
30. srpna 2002
-
10. října 2002
-
4. listopadu 2002
-
12. září 2002
-
25. listopadu 2012
-
28. července 1998
-
31. července 1998
-
28. srpna 1998
-
6. prosince 2000
-
27. prosince 2007
-
4. května 2007