/ / Nekonečná slučka (Java)

Nekonečná slučka (Java)

V Jave, ako takmer v každom jazykuprogramovanie, existujú nástroje na zabezpečenie viacnásobného opakovania určitého kusu kódu alebo, ako sa im hovorí, cyklov. Smyčky v Jave sú reprezentované príkazmi ako pre a kedy a ich variantmi. Smyčky sa spravidla používajú na iteráciu jednorozmerných a viacrozmerných polí a iterovateľných dátových štruktúr (vrátane kolekcií) s cieľom nájsť konkrétne prvky a ďalšie operácie s nimi. Toto však nie je jediný spôsob, ako používať nástroj, akým je slučka Java. Prípady použitia budú poskytnuté tak, ako sú zvažované.

Slučka Java while: popis a príklady

Základným operátorom slučky v Jave jekým. Fragment kódu uzavretý v jeho tele sa bude opakovať, pokiaľ stav výrazu uzavretého v zátvorkách potom, čo spĺňa logickú hodnotu pravdy. Všeobecná forma príkazu while je nasledovná:

while (podmienka) {

// telo cyklu

}

Hneď ako hodnota logickej podmienky prestane byť pravdivá, kód uzavretý v tele slučky sa prestane vykonávať a kontrola sa prenesie na riadok, ktorý bezprostredne nasleduje.

slučky v jave
Ak telo cyklu obsahuje iba jeden príkaz,potom je možné vynechať kučeravé zátvorky, ale považuje sa za dobrú formu, ak sú vždy prítomné. Na obrázku vyššie je bloková schéma činnosti tohto operátora.

Pre zrozumiteľnosť sa pozrime na príklad uvedený na obrázku nižšie:

while loop java

Deklarovaný počet premenných pôvodne malhodnota 1. Ďalej vidíme boolovský výraz uzavretý v zátvorke za menom operátora. Bude to pravda, t.j. return true, pokiaľ je hodnota premennej count menšia alebo rovná 10. V tele cyklu sa pri každom prechode (iterácii) hodnota premennej zvýši o 1 a zobrazí sa na obrazovke konzoly. Všimnite si toho, že keď premenná dosiahla 11, slučka prestala bežať.

Ak by bola hodnota počtu premenných spočiatku rovná 11, potom by bola podmienka cyklu nepravdivá a program by ani nevstúpil do svojho tela.

Stojí za zmienku, že syntax Java to umožňujepoužite príkaz while bez tela. Uveďme príklad. Predpokladajme, že máme dve premenné i = 100 a j = 200, stojíme pred úlohou programovo vypočítať ich aritmetický priemer - na to môžete použiť „dutinu“, zatiaľ čo:

while (++ i <-j);

Výsledkom bude, že hodnota ktorejkoľvek z týchto dvoch premenných sa bude rovnať priemeru ich počiatočných hodnôt. Ako vidíte, slučka fungovala bez tela a vykonávala všetky potrebné akcie podmieneným výrazom.

Slučka do-while

V predchádzajúcich príkladoch, ak je podmienený výrazpôvodne vrátený false, potom spustenie programu bude ignorovať telo slučky a bude pokračovať. Často však nastávajú situácie, v ktorých je vykonanie kódu obsiahnutého v tele slučky povinné aspoň raz, bez ohľadu na pravdivosť podmieneného výrazu. Inými slovami, stáva sa, že je potrebné skontrolovať pravdivosť podmieneného výrazu nie na začiatku, ale na konci cyklu. Túto funkciu môže poskytovať variácia slučky while s názvom do-while. Má nasledujúcu formu:

urobiť {
// telo cyklu

} while (podmienka);

Ako vidíme, najskôr sa telo slučky prevedie na vykonanie a až potom sa skontroluje pravdivosť stavu - a tak ďalej pri každej iterácii.

príklady java slučky

Vyššie uvedený kód bude fungovať zhruba taktorovnaké ako v prípade pravidelnej chvíle. Ak by sme však číslu premennej priradili hodnotu 11, telo slučky by sa vykonalo raz, kým by operátor mohol skontrolovať, či je výraz pravdivý.

Popis a príklady pre - slučka Java

Slučka for je všestranná aefektívna jazyková forma v Jave. Pred piatou verziou Java SDK existovala iba jedna tradičná forma príkazu for a potom sa objavila nová - pre každú. V tejto časti sa zoznámime s tradičnou formou operátora. pre Java slučka vyzerá takto:

pre java slučku

Predtým, ako sa kontrola prenesie do kódu v teleslučka, najskôr sa inicializuje premenná i, aby pôsobila ako počítadlo. Ďalej sa skontroluje podmienený výraz, v ktorom sa počítadlo porovná s určitou hodnotou a ak vráti hodnotu true, vykoná sa telo slučky. Potom sa hodnota počítadla zmení o vopred určený krok a podmienený výraz sa znova skontroluje a tak ďalej, až kým sa podmienka nestane falošnou. Vývojový diagram nižšie ilustruje všetky fázy cyklu.

pre java slučku

Pre lepšie pochopenie uvádzame príklad fungovania slučky for Java:

pre java slučku

Vidíme, že sa používa počítadlopremenná loopVal. Po každej iterácii cyklu sa jeho hodnota zvýši o 1, a to bude pokračovať, kým nedosiahne hodnotu 11. Všimnite si, že riadiacu premennú je možné deklarovať mimo príkazu for, ale ak túto premennú nebudete používať nikde okrem slučky, odporúča sa to deklarovať priamo vo výkaze. Majte na pamäti, že premenná deklarovaná v samotnom príkaze je obsiahnutá v samotnej slučke.

Existujú situácie, keď musíte deklarovaťniekoľko premenných riadiacich slučku. V prípade jazyka Java vám slučka umožňuje zadať dve alebo viac premenných oddelených čiarkami, čo je možné vykonať počas ich inicializácie aj počas iterácie. Takýto operátor bude vyzerať takto:

pre (int i = 1, int j = 10; i <j; ++ i, --j) {}

S každou iteráciou sa hodnota premennej i zvýši o 1 a hodnota premennej j sa zníži o 1. Iterácie sa budú vykonávať, kým i nebude väčšie alebo rovné j.

Špecifiká používania operátora for

Slučka for je celkom flexibilnákonštrukt, pretože všetky tri jeho časti (inicializácia, podmienka a prírastok / úbytok) je možné použiť aj mimo označenia. Napríklad namiesto podmieneného výrazu s riadiacou premennou môžete nahradiť ľubovoľnú booleovskú premennú.

boolean exit = false;

for (int i = 0 ;! exit; ++ i) {

exit = true;

}

Vo vyššie uvedenom príklade môžeme sledovať, ako fungujeslučka je úplne nezávislá od riadiacej premennej i a počet iterácií závisí výlučne od okamihu, v ktorom sa výstup z premennej stane skutočnosťou. Riadiacu premennú je navyše možné zo slučky úplne odstrániť a nijako to neovplyvní jej činnosť: for (;! Exit;) {}. Aj keď to nie je najchytrejší spôsob programovania, môže to byť niekedy užitočné. Hlavnou vecou je predvídať situáciu, v ktorej premenná nadobudne hodnotu potrebnú na opustenie slučky, aby sa z nej nestala nekonečná.

V prípade Java môže byť slučka deklarovaná taktospôsob: pre (;;) {}. Toto je typický príklad nekonečnej slučky so špeciálnymi podmienkami prerušenia. O tom, ako prerušiť takéto cykly, si povieme o niečo neskôr.

Pre každú slučku

Slučka Java foreach sa vždy vzťahuje napostupné vyčísľovanie prvkov poľa alebo akejkoľvek dátovej štruktúry a vykonávanie určitých opakujúcich sa operácií s nimi. Príklad tejto formy vyhlásenia for je uvedený nižšie:

foreach slučka java

Je deklarovaná premenná iteráciename a predtým deklarované pole názvov reťazcov funguje ako druhý argument pre operátor. Názov premennej bude postupne preberať hodnoty každého prvku poľa, kým nebudú načítané všetky jeho prvky. Je potrebné poznamenať, že typ premennej musí byť kompatibilný s typom prvkov, ktoré sú uložené v poli. Tiež premenná názvu je k dispozícii výlučne na čítanie a pokus o jej zmenu nezmení samotný prvok v poli.

Operátory prerušenia slučky

Existujú tri príkazy prerušenia slučky:zlomiť, vrátiť sa a pokračovať. Prvé dva sú schopné úplne prerušiť prácu slučky, zatiaľ čo pokračovanie preruší iba prácu aktuálnej iterácie. Ak vo svojom kóde vedome používate nekonečnú slučku Java, musia v ňom byť prítomní títo operátori. Pozrime sa na jednoduchý príklad použitia prerušenia:

výstup java slučky

Aj keď toto pre príkaz poskytuje 11 iterácií, vykoná sa iba 8, pretože keď je i počítadlo 7, spustí sa podmienka, v tele ktorej je príkaz break.

Príkaz return funguje podobným spôsobom s tým rozdielom, že nielenže opúšťa slučku Java, ale tiež opúšťa spôsob, akým je slučka umiestnená.

Prestávka sa používa ako prechod

Majte na pamäti, že prestávka bude prerušená.iba cyklus, v tele ktorého sa priamo nachádza, t.j. ak ho použijete vo vnorenej slučke, vonkajšia slučka neprestane bežať. Na tento účel môže byť príkaz break použitý ako civilizovaná forma prechodu.

V tomto variante sa tento operátor používa vv spojení so štítkom, ktorý vám umožňuje zorganizovať výstup nielen zo slučiek, ale aj z akéhokoľvek bloku kódu. Štítok je vhodne pomenovaný identifikátor, za ktorým nasleduje dvojbodka. Štítok je označený na začiatku bloku kódu, ktorý má byť označený. Ak chcete prerušiť vykonávanie označeného bloku, musíte na správnom mieste deklarovať: break tag_name. Zoberme si príklad na obrázku nižšie:

java nekonečná slučka

Kód deklaruje tri bloky s názvami štítkov One,Dvaja, respektíve traja. Príkaz break s názvom Two je vnorený do všetkých troch blokov, ale keď sa spustí, program ukončí tri a dva bloky a bude pokračovať v vykonávaní v jednom bloku. Títo. v konzole uvidíme dve správy: tri a jednu.

záver

Zoznámili sme sa s konceptom slučiek v Jave,hlavné while a for, ako aj ich do-while a pre každú formu. Pre lepšie pochopenie odporúčame cvičiť pomocou týchto operátorov v rôznych formách, ako aj rôznych spôsobov, ako ich prerušiť a prechádzať z jedného bloku do druhého.

páčilo sa:
0
Populárne príspevky
Duchovný rozvoj
jedlo
y