![]() |
Programování v jazyce JavaKurz programování v Javě - 8. díl |
|||||||||||||||||||||||||||
Úvodem | Kurz programování v Javě | Kurz programování v Javě pro mobilní telefony | Soubory ke stažení | Otázky a odpovědi |
||||||||||||||||||||||||||||
Úvod Vítám vás všechny u osmého dílu seriálu o začátcích programování v Javě. Minule jsem slíbil, že podrobně proberu příkazy break a continue. Tyto dva příkazy nás čekají jako první a nakonec ještě příkaz return. Příkaz break V minulém díle jsme si ukázali použití break v příkazu switch. To je jeho jedno použití, např.:
Větec default je nepovinná a stejně tak příkaz break, který je také nepovinný. Ale oba zlepšují možnosti příkazu switch. Kdybychom nepřidaly větev default, nic by se nestalo kdyby se proměnná i nerovnala 0, 1 nebo 2. A konečně příkaz break v tomto případě dělá to, že když se na něj narazí v některé větvi, přeskočí se celý příkaz switch a provádění programu pokračuje za pravou složenou závorkou ukončující příkaz switch. To znamená, že pokud by proměnná i byla rovna jedné, první příkaz by byl vypsání řetězce "i se rovná jedne" pomocí metody println(), další příkaz break, který by ukončil celý zbytek těla příkazu switch, to znamená, že další příkaz by byl první příkaz následující za složenou závorkou, to je i = 5. Další jeho použití je v cyklech, všechny jsme probírali minule. A jsou to while, do-while a for. Použití příkazu break v těle cyklu ukončí celý cyklus a stejně jako u switch pokračuje za pravou složenou závorkou, která ukončuje celý cyklus. Pro názornost malý příklad:
Tento cyklus by se prováděl nekonečně dlouho, pokud by neobsahoval podmínkový příkaz if, který testuje velikost proměnné i a pokud je rovna 15, ukončí celý cyklus pomocí příkazu break. Tam kde se v cyklu narazí na příkaz break, se také cyklus ukončí, tzn. že se už žádné příkazy v tělě cyklu ležící za příkazem break neprovedou, ale přeskočí a cyklus se ukončí. Příkaz continue Příkaz continue se také používá v cyklech. To znamená, že ho můžeme použít ve všech cyklech, které jsme minule probírali, používá se stejně jako příkaz break. Když se na příkaz continue narazí při provádění programu v těle cyklu, přeskočí se zbytek těla cyklu ležící za příkazem continue, stejně jako u příkazu break, ale cyklus se neukončí, pouze se přejde do další smyčky cyklu.
Tento příklad dobře ukazuje funkci příkazu continue. Tělo cyklu se provede pětkrát, ale do konzole se vypíší pouze 4 zprávy. Je to způsobeno příkazem continue, protože pokud je proměnná i rovna třem, provede se příkaz continue a ten přeskočí zbytek těla cyklu včetně metody println() a pokračuje se v další iteraci. Pří dalším průchodu těla cyklu není podmínka platná, proto se příkaz continue neprovede a normálně se zavolá metoda println(). Použití návěští u příkazů break a continue Oba příkazy, break a continue, existují ve verzi s návěštím. Příkaz break s návěštím lze použít v situacích, kde je mnoho cyklů vnořených do sebe a například potřebujeme z nejvnitřnějšího cyklu ukončit najednou všechny obklopující cykly. Příkaz break s návěším to zvládne, ale pod podmínkou, kterou jsem napsal, že může ukončit pouze cykly obklopující tento příkaz. Příkaz break lze použít jen v cyklu, ale vyskočit můžete i z bloků, které si sami označíte návěštím. Příkaz continue s návěštím funguje stejně jako obyčejný příkaz continue, ale při použití návěští můžete pokračovat v jakémkoli obklopujícím cyklu.
V příkladě výše je ukázano použití break s návěštím. Ukazuje jak definovat vlastní pojmenované bloky, které lze použít při "vyskočení".
Zde je ukázáno jak ukončit více cyklů najednou, pokud je hodnota proměnné j rovna dvěma, příkaz break ukončí oba cykly.
Tento příklad ukazuje použití příkazu continue s návěštím. U těchto příkladů není moc co vysvětlovat, mají ukázat, jaký je zápis návěští, ale k přesnému pochopení příkazů si musí každý sám zaexperimentovat, tyto příklady zde také slouží jako začátek vašich experimentů. Příkaz return Tento příkaz se používá pro návrat z metody. Metody jsme zatím neprobírali, ale některých využíváme už teď, například metoda println(). Hlavně si myslím, že pokud probíráme příkazy, tak sem příkaz return patří. Nechci teď moc zabíhat do podrobností o metodách, o těch až někdy příště. Ale v našich pogramech deklarujeme jednu metodu pokaždé a to metodu main(). Jistě jste se všimli, že za názvem metody píši kulaté závorky. Je to proto, aby se odlišili názvy proměnných a názvy metod. Deklarace metody se zkládá z identifikátoru přístupu, dále návratového typu a nakonec názvu metody. Ještě jsou sice další věci, které lze do deklarace napsat, ale to není pro nás zatím důležité. Jednotlivé věci si vysvětlíme na metodě main(), kterou musí obsahovat každý náš program.
První slovo u této deklarace je public (veřejná metoda), existují 4 typy přístupu public (veřejná), implicitní, protected (chráněná) a private (neveřejná). public znamená, že ji lze volat odkudkoli a kýmkoli. Dalším slovem je static, metody jsou buď statické (píše se v deklaraci slovo static), nebo nestatické (nepíše se v deklaraci static ani nic jiného). Třetím slovem je void. Značí návratový typ, v tomto případě void (prázdný), to znamená, že metoda nevrací žádnou hodnotu. Metody mohou vracet všechny jednoduché datové typy i objektové datové typy. Posledním slovem je název metody. Elementy v kulatých závorkách jsou argumenty metody a stejně jako u deklarace proměnných (prakticky je to deklarace) se píše typ a název proměnné. Pokud má metoda více argumentů, jednotlivé argumenty se oddělují čarkou, metoda main() má pouze jeden argument a to proměnou typu pole (ještě jsme pole neprobírali) objektových typů String. Toto pole obsahuje argumenty předané při spuštění programu. Ale vraťme se k příkazu return. Například metoda main() se provádí příkaz po příkazu od levé složené závorky a končí pravou složenou závorkou. Pokud chceme metodu ukončit metodu dříve, než u pravé složené závorky použijeme příkaz return. Toto platí ale pouze u metod, které nevrací žádnou hodnotu. Pokud metoda hodnotu vrací, musíme příkaz return použít vždy, ale za return musíme ještě dopsat hodnotu, kterou má vrátit.
Myslím, že použití příkazu return zde je úplně jasné. Po zavolání metody, volá se automaticky při startu programu, nebo ještě jinak, každý program se začíná provádět v metodě main (ne tak úplně, například u programů pro mobilní telefony metoda main() není, ale zase je tam nějaká jiná metoda, která se volá jako první při spuštění programu). Prvním příkazem je volání metody println() dále je použit příkaz if, který pokud má hodnotu true, zavolá příkaz return. Příkaz return ukončí provádění metody (stejně jako break u cyklů) a vrátí volání (v tomto případě ukončí program). Jak bude příkaz return vypadat, pokud má metoda vrátit nějakou hodnotu se můžete podívat v následujícím příkladu.
Nechtěl jsem sice zabýhat až tak do podrobností, ale pokud jste pochopili jak to funguje, je to pro vás výhoda, a pokud ne, vůbec to nevadí protože metody se budou podrobně probírat později. Tento příklad měl ukázat použití příkazu return a to myslím splnil. Metoda vynasobit() je deklarována jako public a návratový typ je int, to znamená, že za příkazem return musí být výraz vracející hodnotu typu int. Obsahuje dva argumenty a a b. A v jejím těle je pouze příkaz return, který vrací hodnotu výrazu a * b. Samozřejmě je možné vracet hodnotu proměnné, nebo přímo za return napsat hodnotu, kterou chcete vrátit, například return 10, vrátí hodnotu typu int s velikostí 10. Závěr Probrali jsme dva důležité příkazy, které se používájí v cyklech, break a continue. Vysvětlili jsme si i příkaz return. |
||||||||||||||||||||||||||||