Nekonečná (Java) slučka
V jazyku Java, takmer vo všetkých jazykochprogramovanie, existujú nástroje na zabezpečenie opakovania určitého kódu alebo, ako sa nazývajú, cyklov. Cykly v jazyku Java sú reprezentované operátormi, ako napríklad a zatiaľ, ako aj ich odrody. Spravidla sa cykly používajú na prechod jednorozmerných a viacrozmerných polí a opakovaných dátových štruktúr (vrátane zbierok) s cieľom nájsť s nimi určité prvky a ďalšie operácie. Nie je to však jediný spôsob, ako použiť nástroj ako Java slučka. Príklady použitia sa uvádzajú pri ich zvažovaní.
Cyklovať zatiaľ čo jazyk Java: popis a príklady
Základné vyhlásenie cyklu v jazyku Java jezatiaľ čo. Kódový fragment, ktorý je uzavretý v jeho tele, sa bude opakovať až do stavu výrazu uzavretého v zátvorkách po tom, ako uspokojí logickú hodnotu pravdy. Všeobecná forma vyhlásenia o čase je:
zatiaľ čo (podmienka) {
// telo slučky
}
Akonáhle hodnota logického stavu prestane byť pravdivá, kód uvedený v telese slučky prestane byť vykonaný a riadenie bude prenesené na bezprostredne nasledujúci riadok.
Pre zrozumiteľnosť sa pozrime na príklad zobrazený na obrázku nižšie:
Deklarovaný počet premenných bol pôvodnehodnota 1. Ďalej vidíme logický výraz v zátvorkách za názvom operátora. Bude to pravda, t.j. vrátiť hodnotu true dovtedy, kým počet nie je menší alebo rovný 10. V tele smyčky sa pri každej iterácii hodnota premennej zvýši o 1 a zobrazí sa na obrazovke konzoly. Upozorňujeme, že keď hodnota ukazovateľa dosiahla 11, cyklus prestala fungovať.
Ak by sa hodnota počtu premenných spočiatku rovnala 11, potom by stav slučky bol nepravdivý a program by sa ani do svojho tela nedostal.
Stojí za zmienku, že syntax Java umožňujepoužite vyhlásenie while bez tela. Uveďme príklad. Predpokladajme, že máme dve premenné i = 100 a j = 200, čelíme úlohe programového výpočtu ich aritmetického priemeru - môžete použiť "dutinu", kým:
pričom (++ i <- j);
V dôsledku toho sa hodnota jednej z dvoch premenných bude rovnať priemeru ich pôvodných hodnôt. Ako môžete vidieť, cyklus fungoval perfektne bez tela a vykonal všetky potrebné kroky v podmienenom vyjadrení.
Do-while okruhu
V predchádzajúcich príkladoch, ak je podmienený výrazspočiatku vrátené nesprávne, vykonanie programu ignorovalo telo slučky a pokračovalo ďalej. Existujú však často situácie, v ktorých je vykonanie kódu obsiahnutého v tele smyčky nevyhnutne aspoň raz, bez ohľadu na platnosť podmieneného výrazu. Inými slovami, stane sa, že nie je potrebné skontrolovať platnosť podmieneného výrazu na začiatku, ale na konci cyklu. Táto funkčnosť môže byť poskytnutá takým druhom okruhu, ktorý sa nazýva do-while. Má nasledujúcu formu:
do {
// telo slučky
} zatiaľ čo (podmienka);
Ako môžeme vidieť, telo slučky sa najskôr vykoná a až potom je pravda o podmienke kontrolovaná - a tak ďalej na každú iteráciu.
Vyššie uvedený kód bude fungovať taktorovnako ako v prípade bežného času. Avšak, ak by sme premennú čítali hodnotu 11, telo slučky by sa ešte raz vykonalo skôr, ako operátor mohol overiť platnosť výrazu.
Popis a príklady pre cyklus Java
Cyklus for je univerzálny aefektívna jazyková forma v jazyku Java. Pred piatou verziou sady Java SDK existovala iba jedna tradičná forma výpisu pre, a potom nový pre každý z nich. V tejto časti sa budeme oboznámiť s tradičnou formou operátora. pre Java, slučka vyzerá takto:
Predtým, ako dostanete kontrolu, uveďte kód v teleinicializácia premennej i, ktorá pôsobí ako počítadlo, sa najskôr vykoná. Ďalej skontrolujeme podmienený výraz, v ktorom sa počítadlo porovná s určitou hodnotou a ak sa vráti pravda, vykoná sa telo slučky. Potom sa hodnota čítača zmení na vopred určený krok a podmienený výraz sa znova skontroluje a tak ďalej, kým sa stav nestane falošným. Vývojový diagram zobrazuje všetky fázy cyklu.
Pre lepšie pochopenie uveďme príklad fungovania slučky Java:
Vidíme, že sa používa počítadlopremenná loopVal. Po každej iterácii, bude jeho hodnota porastie o 1, a to sa bude diať do tej doby, kým nedosiahne 11. Všimnite si, že ovládací prvok premenná môže byť vyhlásené mimo príkazu for, ale ak nechcete používať túto premennú kdekoľvek s výnimkou v slučke sa odporúča deklarovať to priamo vo vyhlásení. Majte na pamäti, že deklarovaná premenná v samotnom výkaze má rozsah v rámci tej istej slučky.
Existujú situácie, kedy chcete vyhlásiťniekoľko premenných, ktoré riadia cyklus. Pre slučku Java je možné použiť slučku na zadanie dvoch alebo viacerých premenných oddelených čiarkou a to tak počas inicializácie, ako aj opakovania. Takýto operátor bude mať nasledujúcu formu:
pre (int i = 1, int j = 10; i <j; ++ i, - j) {}
Pri každej iterácii sa hodnota premennej i zvýši o 1 a hodnota premennej j sa zníži o 1. Iterácie sa vykonajú tak dlho, kým sa nestane väčším alebo rovným j.
Funkcie používania vyhlásenia pre
Cyklus for je celkom flexibilnýpretože všetky tri jeho časti (inicializácia, stav a prírastok / zmenšovanie) nemožno použiť na určený účel. Napríklad namiesto podmieneného výrazu s riadiacou premennou môžete nahradiť ľubovoľnú logickú premennú.
boolean exit = false;
pre (int i = 0 ;! exit; ++ i) {
exit = true;
}
V príklade vyššie môžeme pozorovať, ako prácucyklus je absolútne nezávislý na riadiacej premennej i a počet iterácií závisí len od toho, kedy bude výstupná premenná pravdivá. Okrem toho môže byť riadiaca veličina úplne odstránená zo smyčky, čo neovplyvňuje jej prevádzku: pre (;! Exit;) {}. Hoci to nie je najvhodnejší spôsob programovania, niekedy to môže byť užitočné. Hlavnou vecou je poskytnúť situáciu, v ktorej premenná má hodnotu potrebnú na opustenie slučky, aby sa nezmenila na nekonečnú hodnotu.
Pre jazyk Java môže byť deklarovaná slučkacesta: pre (;;) {}. Toto je typický príklad nekonečnej slučky so špeciálnymi podmienkami prerušenia. O tom, ako prerušiť tento druh cyklov, budeme hovoriť trochu neskôr.
Cyklovať v každom štýle
Pre foreach slučka Java sa vždy používasekvenčné vyhľadávanie prvkov poľa alebo nejakej dátovej štruktúry a vykonanie určitých opakovaných operácií nad nimi. Príklad tejto formy výkazu for je uvedený nižšie:
Zobrazí sa iterná premennánázov a predtým deklarované pole reťazecových mien slúži ako druhý argument operátora. Názov premennej bude mať hodnoty každého prvku poľa naraz, kým sa všetky jeho elementy nevyberú. Treba poznamenať, že typ premennej musí byť kompatibilný s typom prvkov, ktoré sú uložené v poli. Tiež premenná mena je iba na čítanie a pokus o jej zmenu nezmení samotný prvok v poli.
Prevádzkovatelia prerušenia cyklu
Existujú tri operátory prerušenia pre slučku: prestávka, návrat a pokračovanie. Prvé dve sú schopné úplne prerušiť slučku a pokračovať v prerušení iba operácie aktuálnej iterácie. Ak vo svojom kóde používate zámerne nekonečný cyklus Java, musia byť v ňom prítomní. Zvážte jednoduchý príklad používania prestávky:
Hoci toto vyhlásenie je k dispozícii pre 11 iterácií, vykonaný iba 8, pretože keď počítadlo i sa rovná 7, práca stav, v ktorom telo má príkazu break.
Spätné hlásenie funguje podobným spôsobom s tým rozdielom, že poskytuje nielen výstup z Java slučky, ale aj spôsob, akým je táto slučka umiestnená.
Použitie prestávky ako goto
Treba mať na pamäti, že prestávka prerušuje prácuIba cyklus, v ktorého tele je priamo umiestnený, t.j. Ak ho použijete vo vnorenej slučke, vonkajšia slučka neprestane pracovať. Za týmto účelom sa vyhlásenie o zlomení môže použiť ako civilizovaná forma geto.
V tomto variante sa tento operátor používa vbalík so štítkom, ktorý umožňuje organizovať výstup nielen z cyklov, ale z akéhokoľvek bloku kódu. Štítok je vhodne pomenovaný identifikátor s dvojbodkou po ňom. Štítok je deklarovaný na začiatku označeného bloku kódu. Ak chcete prerušiť vykonanie označeného bloku na správnom mieste, musíte vyhlásiť: break name_name. Zoberme si príklad na obrázku nižšie:
Kód má tri bloky s označením Jeden,Dva a tri, resp. Príkaz break s označením Two je vnorený do všetkých troch blokov, ale keď sa spustí, program opustí tri a dva bloky a pokračuje v vykonávaní bloku One. tj v konzole uvidíme dve správy: Tri a jedna.
záver
Zoznámili sme sa s konceptom cyklov v jazyku Java,hlavné chvíle a pre vyhlásenia, rovnako ako ich do-time a pre každú formu, resp. Pre lepšie pochopenie odporúčame vykonať cvičenia s použitím týchto operátorov v rôznych formách, ako aj rôzne spôsoby ich prerušenia a presunu z jedného bloku do druhého.