Nekonečná pro (Java) smyčku
V jazyce Java, stejně jako v téměř každém jazyceprogramování, existují nástroje, které poskytují více opakování konkrétního kusu kódu, nebo, jak se jim říká, cykly. Cykly v jazyce Java jsou reprezentovány operátory, jako pro a za chvíli, stejně jako jejich odrůdy. Typicky cykly jsou použity pro průchod jednorozměrných a vícerozměrných polí a iterable datových struktur (včetně sbírek) nalézt určité položky a další operace s nimi. Nicméně, není to jediný způsob, jak používat nástroj jako Java smyčka. Příklady použití budou uvedeny v úvahu.
Cyklus v jazyce Java: popis a příklady
Podkladové prohlášení o cyklu v jazyce Java jezatímco. Fragment kódu uzavřený ve svém těle, která se má opakovat tak dlouho, dokud vyjádření stavu, uzavřené v závorkách za ní uspokojí logickou hodnotu TRUE. Obecná forma příkazu while je:
zatímco (podmínka) {
// tělo smyčky
}}
Jakmile je hodnota logických podmínek přestává být pravda, bude vězeň ve smyčce těla kódu přestane být provedena kontrola a budou předány ihned po dosažení linku.
Pro přehlednost se podívejme na příklad uvedený na následujícím obrázku:
Deklarovaný počet proměnných byl počátečníhodnota 1. Dále vidíme logický výraz uzavřený v závorkách za jménem operátora. Bude to pravda, tj. vrátí hodnotu true, dokud počet není menší nebo rovný 10. V těle smyčky se při každé iteraci hodnota proměnné zvýší o 1 a zobrazí se na obrazovce konzoly. Všimněte si, že když hodnota proměnné dosáhla 11, cyklus přestal fungovat.
Pokud by hodnota počtů proměnných byla zpočátku rovna 11, pak by smyčkový stav byl falešný a program by ani nešel do jeho těla.
Stojí za zmínku, že Java syntaxe dovolujepoužijte příkaz while while bez těla. Ukažme příklad. Předpokládejme, že máme dvě proměnné i = 100 a j = 200, stojíme před úkolem programově vypočítat jejich aritmetický průměr - můžete použít "dutinu", zatímco:
zatímco (++ i <- j);
V důsledku toho se hodnota jedné ze dvou proměnných bude rovnat průměru jejich původních hodnot. Jak můžete vidět, cyklus fungoval dokonale bez těla a provedl všechny nezbytné kroky v podmíněném výrazu.
Do-while smyčka
V předchozích příkladech, pokud je podmíněný výrazzpočátku vrácena nepravda, provádění programu ignorovalo tělo smyčky a pokračovalo dále. Existují však často situace, kdy provádění kódu obsaženého v těle smyčky, nutně alespoň jednou, bez ohledu na platnost podmíněného výrazu. Jinými slovy, stane se, že není nutné kontrolovat platnost podmíněného výrazu na začátku, ale na konci cyklu. Tato funkce může být poskytována druhem cyklu while called nazvaným do-while. Má následující formu:
do {
// tělo smyčky
} zatímco (podmínka);
Jak můžeme vidět, tělo smyčky je poprvé popraveno a teprve pak je pravda o kontrole stavu - a tak dále každé iteraci.
Kód výše funguje taktostejně jako v obvyklém čase. Pokud bychom však proměnnou čítali hodnotu 11, tělo smyčky by bylo ještě jednou provedeno, než by operátor mohl ověřit platnost výrazu.
Popis a příklady pro cyklus Java
Smyčka pro je univerzální aefektivní jazykovou podobu v Javě. Před pátou verzí Java SDK existovala pouze jedna tradiční forma výkazu pro a pro každý z nich nový. V této části se seznámíme s tradiční formou operátora. pro Java, smyčka vypadá takto:
Předtím, než dostanete kontrolní kód v tělecyklu je nejdříve provedena inicializace proměnné i, která působí jako čítač. Dále zkontrolujeme podmíněný výraz, ve kterém je čítač porovnáván s určitou hodnotou, a pokud se vrací pravda, provede se tělo smyčky. Poté se hodnota čítače změní na předem stanovený krok a podmíněný výraz se znovu zkontroluje, a tak dále, dokud se podmínka nestane nepravdivá. Vývojový diagram níže znázorňuje všechny fáze cyklu.
Pro lepší pochopení uveďme příklad toho, jak funguje smyčka Java:
Vidíme, že se používá počítadlovariabilní loopVal. Po každé iteraci, bude jeho hodnota poroste o 1, a to se bude dít do té doby, dokud nedosáhne 11. Všimněte si, že ovládací prvek proměnná může být prohlášeno mimo příkazu for, ale pokud nechcete používat tuto proměnnou kdekoliv s výjimkou v smyčce se doporučuje deklarovat přímo ve výpisu. Mějte na paměti, že deklarovaná proměnná ve výkazu sama o sobě má rozsah uvnitř této smyčky.
Existují situace, kdy chcete prohlásitněkolik proměnných, které řídí cyklus. V jazyce Java smyčka umožňuje zadat dvě nebo více proměnných oddělených čárkou a to při inicializaci i iteraci. Takový provozovatel bude mít následující podobu:
for (int i = 1, Int J = 10; i <j ++ i, --j) {}
Při každé iteraci se hodnota proměnné i zvýší o 1 a hodnota proměnné j se sníží o 1. Iterace budou provedeny, dokud se stane větší nebo rovno j.
Funkce použití příkazu pro
Smyčka pro je poměrně flexibilníprotože všechny tři jeho části (inicializace, stav a přírůstek / pokles) nemohou být použity pro svůj zamýšlený účel. Například místo podmíněného výrazu s řídicí proměnnou můžete nahradit libovolnou logickou proměnnou.
boolean exit = false;
pro (int i = 0 ;! exit; ++ i) {
exit = true;
}}
Ve výše uvedeném příkladu můžeme sledovat práciCyklus nezávisí na proměnné i kontroly a počet iterací zcela závisí na tom, kolik vystupování proměnné bude nastavena na hodnotu true. Navíc řídící proměnná může být zcela odstraněn z cyklu, a to nebude mít vliv na jeho práci: pro (; výstupu ;!) {}. Ačkoli to není nejvhodnější způsob programování, někdy to může být užitečné. Hlavní věc - aby na situaci, v níž se bude proměnná vzít právo ukončit hodnotu cyklu, aby nedošlo k jeho proměnit v nekonečný.
Pro Java může být deklarována smyčka a takcesta: pro (;;) {}. Jedná se o typický příklad nekonečné smyčky se speciálními podmínkami přerušení. O tom, jak přerušit takové cykly, mluvíme o něco později.
Cyklus ve stylu každého
Smyčka foreach Java je vždy používánasekvenční vyhledávání prvků pole nebo některé datové struktury a provádění určitých opakovaných operací nad nimi. Příklad této formy příkazu for je uveden níže:
Zobrazuje se iterační proměnnánázev a dříve deklarované pole řetězců se chová jako druhý argument operátora. Název proměnné pořídí hodnoty každého prvku pole po jednom, dokud nebudou všechny jeho elementy extrahovány. Je třeba poznamenat, že typ proměnné musí být kompatibilní s typem prvků, které jsou uloženy v poli. Proměnná jména je také jen pro čtení a pokus o její změnu nezmění samotný prvek v poli.
Operátory přerušení cyklu
Pro smyčku existují tři operátory přerušení: přestávka, návrat a pokračování. První dva jsou schopny úplně přerušit smyčku a pokračují v přerušení pouze operace aktuální iterace. Pokud ve svém kódu používáte úmyslně nekonečný cyklus Java, musí být v něm přítomni. Zvažte jednoduchý příklad použití zlomu:
Ačkoli toto prohlášení je k dispozici pro 11 iterací, proveden pouze 8, protože když počitadlo i se rovná 7, práce stav, ve kterém tělo má příkazu break.
Zpětné prohlášení se chová podobným způsobem, s tím rozdílem, že poskytuje nejen výstup z Java smyčky, ale také způsob, jakým je tato smyčka umístěna.
Použití break jako goto
Je třeba mít na paměti, že přestávka přeruší práciPouze cyklus, v jehož těle je přímo umístěn, tj. Pokud ji použijete ve vnořené smyčce, vnější smyčka přestane pracovat. Pro tento účel může být výpověď použita jako civilizovaná forma goto.
V této variantě se tento operátor používá vbalíček se štítkem, který umožňuje organizovat výstup nejen z cyklů, ale z libovolného bloku kódu. Označení je vhodně pojmenovaný identifikátor s dvojtečkou za ním. Označení je deklarováno na začátku označeného bloku kódu. Chcete-li přerušit provádění označeného bloku na správném místě, musíte deklarovat: break name_name. Vezměme si příklad na následujícím obrázku:
Kód má tři bloky označené Jeden,Dvě a tři, resp. Příkaz break s označením Two je vnořen ve všech třech blocích, ale když je spuštěn, program ukončí bloky Three a Two a pokračuje v provádění bloku One. Tedy. v konzole uvidíme dvě zprávy: Three and One.
Závěr
Zjistili jsme pojetí cyklů v Javě,šéf a zároveň i pro provozovatele, jakož i jejich formy do-while, a pro každého, v uvedeném pořadí. Pro lepší pochopení doporučujeme dělat cvičení s využitím těchto operátorů v různých formách, stejně jako různé způsoby, jak přerušit a přesunout z jednoho bloku do druhého.