Smyčky na zadanie čísel v jave. Slučky na chvíľu a v prostredí Java

  • 21.07.2019

Ak potrebujete, aby sa rovnaká akcia vykonala viackrát alebo do určitého stavu, tu nám pomáhajú cykly.

V jazyku Java existuje niekoľko spôsobov, ako vytvoriť slučky. Ako ste už mohli uhádnuť, zvážime všetky z nich.

Prvý spôsob, ako deklarovať slučku, je použiť nasledujúcu konštrukciu: for (podmienka začiatku slučky; konečná podmienka; krok, ktorý bude slučka trvať) (telo slučky)

Poďme priamo k príkladom. Povedzme, že máme za úlohu zobraziť slovné spojenie „ahoj svet“ 10-krát. Ak nepoužívate slučky, stačí napísať System.out.println ("Hello world"); desaťkrát a vyriešiť problém. Na tento účel použijeme slučky. Vytvorte novú triedu a pomenujte ju napríklad CuclesInJava. Teraz deklarujte podmienku slučky (nech je 0), koncovú podmienku 10 a krok. Pôjdeme v prírastkoch po jednej. Do tela slučky vložte riadok System.out.println („Hello world“);

Tu je ukážka kódu:

Výsledkom tohto kódu bude 10 riadkov v rade frázy „Hello world!“.

Čo tak napísať niečo zložitejšie. Základné sme sa už naučili. Využime ich.

Poďme napísať jednoduchú aplikáciu, ktorá zobrazí riadok s upozornením vždy, keď sa krok + nejaká premenná rovná 5. Mám veľmi zlú predstavivosť))

Najskôr napíšme kód, ktorý ako vstup prijme premennú zadanú z konzoly. V predchádzajúcom článku som uviedol príklad tohto kódu a dohodli sme sa, že potom vysvetlím, ako funguje a odkiaľ pochádza. Zatiaľ to iba použijeme:

Ďalej musíte napísať slučku, ktorá bude začínať nulou a bude sa počítať do desať (ako v predchádzajúcom príklade). Do tela slučky napíšeme podmienený operátor, ktorý skontroluje, či sa táto premenná rovná 5, a ak áno, potom vypíše riadok „OK“. To som urobil:

    import java.util.Scanner;

    verejná trieda CuclesInJava (

    int premenná \u003d scanner.nextInt (); // k tomu sa dostaneme postupne a potom bude jasné, ako to funguje

    pre (int i \u003d 1; i< 10 ; i++ ) {

    int newVariable \u003d i + premenná;

    if (newVariable \u003d\u003d 5) (

Ukázalo sa to nie veľmi komplikované. Na tomto príklade som chcel ukázať, ako môžete použiť vidlicové slučky vo zväzku.

Ďalším spôsobom, ako vyhlásiť slučky, je: while (podmienka je pravdivá) (blok kódu, ktorý sa má vykonať). Táto konštrukcia má inú formu:

do (blok kódu, ktorý sa má vykonať) while (podmienka je pravda). Rozdiel medzi prvým a druhým je v tom, že druhým je vykonanie jedného cyklu bez ohľadu na to, či je podmienka pravdivá alebo nie. Môžete si myslieť sami: najskôr vykonáme kód a potom skontrolujeme stav. A aj keď podmienka nie je pravdivá, kód sa vykoná stále raz, a to v čase, keď je podmienka prvýkrát skontrolovaná v prvej podobe konštrukcie, a kým nebude pravdivá, nebude vykonaný.

Kód by mal byť intuitívny. Myslím, že stojí za zmienku, že pri konštrukciách while a do-while môžete „Slučka“program, ak nenapíšeš alebo nesprávne napíšeš podmienku pre opustenie slučky. Pozrime sa na vyššie uvedený príklad a porozmýšľajte, čo by sa stalo, keby som napísal nie i–, ale i ++; alebo namiesto i\u003e 0, i<0. Моя программа никогда не вышла бы из цикла и продолжала бы выводить строку Hello world! до тех пор, пока не завис компьютер. Поэтому, будьте очень осторожными с циклами и всегда следите, чтобы из них Ваша программа могла выйти или закончить работу.

Príklad s do-while:

V tomto ohľade si myslím, že by sme mohli článok dokončiť slučky v Jave... Ako vidíte, konštrukty nie sú veľmi komplikované, ale veľmi užitočné. Budú užitočné najmä vtedy, keď sa oboznámime s poľami a reťazcami.

Rovnako ako takmer v každom programovacom jazyku, má Java nástroje na opakované opakovanie konkrétnej časti kódu. Takéto nástroje sa bežne nazývajú cykly. V prostredí Java sú slučky reprezentované príkazmi ako while a for a ich variantmi. Smyčky sa spravidla používajú na prechádzanie jednorozmerných a viacrozmerných polí a dátových štruktúr s cieľom nájsť určité prvky a ďalej s nimi manipulovať. Ale to nie je zďaleka jediný spôsob použitia nástroja ako je Java loop. Ako budete postupovať, uvedieme príklady použitia.

Smyčka Java while: popis a príklady

While je operátorom základnej slučky v Jave. Útržok kódu uzavretý v jeho tele sa bude opakovať, pokiaľ podmienka výrazu v zátvorkách po splnení skutočnej hodnoty. Príkaz while má nasledujúcu všeobecnú formu: while (condition) (// telo slučky). Len čo hodnota boolovskej podmienky prestane byť pravdivá, kód uzavretý v tele slučky sa zastaví. Kontrola sa prenesie na riadok, ktorý bezprostredne nasleduje. Ak telo slučky obsahuje iba jedného operátora, potom môžete zložené zátvorky vynechať. Medzi programátormi sa však považuje vždy dobrá forma. Uveďme si príklad:

Verejná trieda whileDemo (

System.out.println („Tlač čísel od 1 do 10“);

while (počítať<=10) {

System.out.println (počet);

Počiatočne deklarovaný počet premenných má hodnotu 1. Ďalej vidíme boolovský výraz, ktorý je uzavretý v zátvorkách za menom operátora. Ak je hodnota true, potom slučka vráti true, kým nebude hodnota počtu premenných rovná alebo menšia ako 10. Pri každom prechode alebo opakovaní sa hodnota premennej zvýši o 1 a zobrazí sa na obrazovke konzoly. Keď premenná dosiahla 11, slučka sa skončila. Ak bol počet spočiatku 11, potom by bola podmienka slučky nepravdivá. Program by ani nevstúpil do tela. Je potrebné poznamenať, že syntax jazyka Java umožňuje používať príkaz While bez tela. Uvažujme o nasledujúcom príklade. Povedzme, že máte dve premenné: i \u003d 100 a j \u003d 200. Našou úlohou je programovo vypočítať ich aritmetickú strednú hodnotu; na tento účel môžete použiť slučku "hollow" while:

While (++ i<- — j);

V dôsledku tejto operácie sa hodnota ktorejkoľvek z týchto dvoch premenných bude rovnať priemeru ich počiatočných hodnôt. Ako vidíte v tomto príklade, slučka fungovala dobre bez tela a vykonala všetky potrebné akcie v podmienenom výraze.

Slučka do-while

Ak v predchádzajúcich príkladoch výraz podmienky vrátil hodnotu false, program ignoroval telo cyklu a pokračoval v ďalšom vykonávaní. Ale niekedy nastanú situácie, keď je vykonanie kódu obsiahnutého v tele slučky povinné aspoň raz, bez ohľadu na pravdivosť výrazu podmienky. Inými slovami, niekedy sa stane, že je potrebné skontrolovať pravdivosť podmieneného výrazu na začiatku, a nie na konci cyklu. Túto funkciu môže poskytnúť variácia slučky while, ktorá sa bežne nazýva do-while. Má nasledujúcu formu: do (// telo slučky) while (podmienka). Ako vidíte, najskôr sa tu vykoná telo slučky a potom sa skontroluje stav. To sa deje pri každej iterácii. Vyššie uvedený kód bude fungovať v podstate rovnako ako pri while. Ak by sme ale premennej count priradili hodnotu 11, telo cyklu by sa predsa len vykonalo raz, kým by operátor mohol skontrolovať, či je výraz pravdivý.

Príklady a popis: for - slučka Java

Smyčka for je všestranný a efektívny jazykový formulár v jazyku Java. Až do verzie 5 JavaSDK existovala iba jedna tradičná forma vyhlásenia for. Po nej sa objavila nová - foreach. Táto časť sa zameria na tradičnú formu operátora. Smyčka for v jave vyzerá takto:

pre (inti \u003d 0; i<10; i++) {//Loop statements to be executed

Predtým, ako sa riadenie prenesie do kódu na konci slučky, inicializuje sa premenná i, ktorá funguje ako počítadlo. Ďalej musíte skontrolovať podmienený výraz, v ktorom bolo počítadlo porovnané s konkrétnou hodnotou. Ak program vráti hodnotu true, vykoná sa telo cyklu. V takom prípade sa hodnota počítadla zmení o vopred určený krok a znova sa skontroluje podmienený výraz. Stáva sa to dovtedy, kým sa stav nestane nesprávnym. Pre lepšie pochopenie uvádzam príklad toho, ako funguje cyklus Java for.

verejná trieda ForLoops (

public static void main (String args) (

intend_value \u003d 11;

pre; // vytvorí pole typu „niečo“ z n prvkov

pre (int i \u003d 0; i< n; i++){

pole [i] \u003d nové Niečo (); // vytvoriť „niečo“ a vložiť to do poľa

}

Ako ukončiť slučku Java

Na opustenie slučky existujú kľúčové slová break - „prerušiť“, pokračovať - \u200b\u200b„pokračovať“ a vrátiť sa - „vrátiť sa“. Príkaz break preruší program na vykonávanie príkazov nasledujúcich za slučkou. Podmienky prerušenia slučky v Jave sa vykonávajú pomocou vetvenia if. Hlavná vec je, že kontrola sa vykonáva pred hlavným telom slučky.

// po vytvorení poľa m napíš:

pre (a: m) (

if (a \u003d\u003d 5) break;

System.out.println (a);

}

Operátory vetvenia a slučiek v Jave často spolupracujú: spustíme slučku a v jej vnútri skontrolujeme, či je ešte splnená podmienka, pod ktorou je potrebné prerušiť slučku, alebo niečo iné.

Ak použijete prerušenie vnorenej slučky, zlomí sa iba ona a vonkajšia sa bude naďalej vykonávať.

Ak chcete predčasne ukončiť iteráciu cyklu for v jazyku Java, použite continue. Keď ho program dosiahne, preskočí nevykonanú časť iterácie, aktualizuje počítadlo a prejde na ďalšiu iteráciu.

V konštruktoch while, to isté pokračovanie funguje inak: vráti nás späť ku kontrole podmienky pokračovania slučky. Ďalší príkaz - návrat - vráti program na miesto, odkiaľ bola metóda volaná, v ktorom sa nachádza slučka.

Obe hodnoty continue a break môžu byť použité s označením - na preskočenie na požadovanú časť kódu - analogicky s goto:

zlomiť Mark1; // za predpokladu, že je Mark1 niekde vyššie:

Java nekonečná slučka

Je ľahké vytvoriť nekonečnú slučku - stačí vynechať parametre pre:

pre (;;) ()

Je ťažšie z toho ťažiť. Nekonečná slučka je zvyčajne fatálna chyba, ktorá narúša vykonávanie programu. Preto by sa mal každý cyklus skontrolovať, či je schopný správne sa dokončiť v pravý čas. Potrebujete na to:

  • určiť podmienky prerušenia v tele slučky,
  • uistite sa, že premenná v podmienkach prerušenia môže mať hodnotu, pri ktorej sa slučka zastaví.

Zamysleli ste sa niekedy nad tým, prečo programy vôbec existujú? Ak zjednodušíme a zovšeobecníme odpoveď na túto otázku, ukáže sa, že programy sú nevyhnutné na automatizáciu pracovného toku, zvýšenie rýchlosti vykonanej práce, zbavenie človeka tisícov monotónnych akcií atď. Poďme sa venovať opakovaniu akcií jeden po druhom, alebo zjednodušene povedané cyklom.

Smyčka je postupné vykonávanie opakujúcich sa akcií na základe daného predpokladu. Napríklad musíte zmeniť usporiadanie sto políčok z jedného rohu do druhého. Ak to nejak napíšete v jazyku Java (bohužiaľ, Java za vás nemôže zmeniť usporiadanie políčok), dostanete sto riadkov:

1. vezmite krabicu číslo 1 a vložte ju do iného rohu;
2. vezmite krabicu číslo 2 a vložte ju do iného rohu;
3. vezmite krabicu číslo 3 a vložte ju do iného rohu;

100. vezmite krabicu # 100 a vložte ju do iného rohu;

Sto riadkov kódu je už veľa, ale je ich tisíc, dva, tri atď. Na tieto účely, a to na zjednodušenie zaznamenávania opakujúcich sa akcií, sa používajú cykly.

Existujú tri príkazy, ktoré reprezentujú slučky v Jave - while, do / white a for. Každý z operátorov je nevyhnutný vo svojej vlastnej situácii, ale operátor for sa stále používa najčastejšie. Zvážme každého z operátorov v poriadku.

Zatiaľ čo vyhlásenie

Syntax príkazu while je nasledovná:

While (podmienka) (// akcie)

Dochádza tiež k splneniu určitého predpokladu, ale na rozdiel od operátora if / else je táto konštrukcia postavená na slučkách na kontrolu stavu. Keď program dosiahne vyhlásenie while, ak je navrhovaná podmienka pravdivá, vykonajú sa všetky akcie v bloku zložených zátvoriek (...). Po dokončení týchto akcií program opäť skontroluje podmienku po príkaze while a ak je podmienka znovu pravdivá, akcie v bloku sa opakujú. Akcie v bloku sa vykonávajú, kým sa podmienka nestane nepravdivou a až potom sa ukončí cyklus while.
Na opustenie slučiek sa najčastejšie používajú takzvané počítadlá. Zvážte malý príklad:

Int i \u003d 0; kým< 10) { // действия i++; }

Najprv sa premennej i priradí hodnota 0, potom sa skontroluje podmienka i0)

(// akcie i--;)

Rovnaké akcie, ale v opačnom smere. Ďalej, v cykle while (a samozrejme aj v iných slučkách) je možné použiť boolovské premenné obsahujúce hodnoty false alebo true. V takom prípade je skontrolovaný určitý predpoklad.

Booleovské i \u003d pravda; while (i) (// akcie)

Premennej i je true, bola jej priradená hodnota true, takže cyklus while sa vykonáva, kým premennej i nie je priradená hodnota false. Preto je potrebné postarať sa o opustenie takejto slučky, inak sa slučka while bude vykonávať neurčito a tieto slučky sa nazývajú nekonečné slučky.

Na záver by som chcel upriamiť vašu pozornosť na rovnocenný operátor \u003d\u003d. Ak píšete slučku takto:

Int i \u003d 0 while (i \u003d\u003d 5) (// akcie i ++;)

To sa ukáže ako úplne uskutočniteľný cyklus, ale ak urobíte chybu alebo použijete klasickú verziu operátora rovnajúcu sa \u003d, ktorá sa v matematike používa zo zvyku, budete mať problém v podobe nekonečnej slučky.

Int i \u003d 0 while (i \u003d 5) (// akcie i ++;)

Za predpokladu je premennej i priradená hodnota 5, ale táto činnosť nie je zakázaná a k čomu nakoniec dospejeme? Vykonanie tohto bloku slučky sa začne na konci ktorého hodnota i vzrastie o jednu, ale v predpoklade po príkaze while bude premennej i opäť priradená hodnota päť a slučka bude pokračovať v práci neurčito. Toto je príklad jednoduchej nekonečnej slučky a v dôsledku toho klasická chyba, ktorá sa u začínajúcich programátorov stáva veľmi často.

Urobte slučku / while

Smyčka while, ktorú sme práve zvážili, za určitých podmienok nemusí fungovať. Napríklad, ak je podmienka pôvodne nepravdivá, potom sa slučka nikdy nevykoná. Program, ktorý sa dostane na riadok kódu pomocou príkazu while, skontroluje stav a ak je nepravdivý, bude ignorovať celú slučku a prejde na kód bezprostredne nasledujúci za slučkou while. Niekedy je však potrebné spustiť slučku aspoň raz. Pre tieto účely má Java slučku do / while. Písanie a vytváranie cyklu do / while sa vykonáva nasledovne:

Robiť (// akcie) while (podmienka)

Medzi príkazmi do a while je telo cyklu, ktoré bude bežať, kým nebude podmienka nasledujúca po príkaze while chybná. Telo slučky sa vykoná najmenej raz, potom sa skontroluje stav. Smyčka do / while sa často nepoužíva, ale niekedy je nevyhnutná.

Pre slučku

Toto je najbežnejšia slučka v programovaní. Smyčka for je založená na manipulácii s počítadlom. Význam tejto slučky je podobný slučkám while a do / while diskutovaným vyššie. Pozrite sa, ako vyzerá syntax cyklu for:

Pre (int i \u003d 0; i< 10; i++) { // действие }

Po kľúčovom slove pre nasleduje podmienka vykonania slučky. Rovnaký stav kombinuje tri stupne. Najprv nasleduje inicializácia počítadla i \u003d 0, potom sa skontroluje stav i< 10 и в конце увеличение переменной i на единицу.

Smyčka for funguje nasledovne. Keď program dosiahne slučku, inicializuje sa počítadlo i \u003d 0 a skontroluje sa stav i< 10. Далее программа переходит в тело цикла. По окончанию всех действий в цикле for, происходит обращение к третьему этапу цикла: i++, увеличивая счетчик на единицу. После чего сразу же происходит переход ко второму этапу – проверке переменной i < 10 и повторный выход в тело цикла. Весь цикл продолжается до тех пор, пока условие i < 10 не станет ложным. Цикл for используется постоянно при инициализации массива данных, где без него очень сложно, а порой и не возможно обойтись. Так же как и в цикле while возможно использование оператора декремента, например.

V tomto tutoriále sa dozvieme, ako opätovne spúšťať časti nášho kódu kontrolovaným spôsobom pri pohľade na rôzne typy slučiek v Java... Pozrime sa podrobnejšie na slučky: zatiaľ čo, urobiť-zatiaľ čo, pre... Pokúsime sa určiť, v ktorých prípadoch je vhodné zvoliť ktorý z cyklov.

Potom sa rýchlo pozrieme na tému náhodných čísel ( náhodnýčísla). Poďme sa pozrieť na Java-trieda Náhodné a ako nám môže pomôcť v našej hre.

Smyčka, ako už názov napovedá, je spôsob vykonávania rovnakej časti kódu toľkokrát, koľkokrát je potrebné (zatiaľ čo výsledok vykonania kódu v slučke sa nemusí nevyhnutne opakovať). Počet opakovaní vykonania slučky môže byť buď určitý vopred, alebo neznámy samotnému programátorovi. Pozrime sa na hlavné typy slučiek, ktoré nám jazyk ponúka na použitie. Java.A potom niektoré z nich zavedieme do našej hry, čím ju vylepšíme.

Zatiaľ čo Loop

Cyklus zatiaľ čomá najjednoduchšiu syntax. Pamätaj ak-inštrukcia, ktorú sme študovali o niečo skôr. K podmienenému výrazu operátora ak(čo je v zátvorkách za slovom ak) môžete vložiť takmer ľubovoľnú kombináciu operátorov a premenných. Ak je výraz pravdivý ( pravda), potom kód priložený k telu bloku akbude vykonaný. Podobne v slučke zatiaľ čo dáme výraz, ktorý môžeme vyhodnotiť pravda alebo nepravdivéako je uvedené v tomto kóde:

Int x \u003d 10; while (x\u003e 0) (x--; // x klesá o jeden každý prechod slučky)

Čo sa tu deje? Prvá vec mimo slučky zatiaľ čodeklarovali sme premennú xtypu inta priradil tejto premennej hodnotu „10“. Potom začne cyklus zatiaľ čo, v stave ktorého je napísaná x\u003e 0 " - to znamená, že kód napísaný v tele slučky zatiaľ čo sa vykoná tak dlho, ako premenná xviac 0 a stav nedosiahne hodnotu nepravdivé... Preto bude kód vykonaný 10 krát (x \u003d 10, x\u003e 0; x \u003d 9, x\u003e 0; x \u003d 8, x\u003e 0; x \u003d 7, x\u003e 0; x \u003d 6, x\u003e 0; x \u003d 5 , x\u003e 0; x \u003d 4, x\u003e 0; x \u003d 3, x\u003e 0; x \u003d 2, x\u003e 0; x \u003d 1, x\u003e 0). V prvom prechode slučky x \u003d 10, v druhom už 9 , tretia 8 atď. A kedy xbude rovnocenný 0 , potom nebude splnená podmienka vstupu do slučky a program bude pokračovať od nasledujúceho riadku po skončení slučky.

Rovnako ako v operátorovi ak, je možná situácia, že cyklus nebude vykonaný ani raz. Zoznámte sa s nasledujúcim príkladom:

Int x \u003d 10; while (x\u003e 10) (// nejaký kód //, ale nikdy sa nevykoná, kým x nebude väčšie ako 10)

Okrem toho neexistujú žiadne obmedzenia týkajúce sa zložitosti výrazu podmienky alebo množstva kódu, ktorý je možné zapísať do tela slučky:

Int playerLives \u003d 3; int alienShips \u003d 10; while (playerLives\u003e 0 && alienShips\u003e 0) (// Celý herný kód je tu // ... // ... // atď.) // program tu bude pokračovať, keď buď playerLives alebo alienShips \u003d 0

Táto slučka bude prebiehať, kým nebude premenná playerLivesalebo mimozemské lode nebude rovná alebo menšia ako nula. Len čo je splnená jedna z týchto podmienok, výraz v podmienke nadobudne hodnotu nepravdivé a program bude pokračovať na ďalšom riadku po skončení cyklu.

Je potrebné poznamenať, že akonáhle program vstúpi do tela slučky, bude vykonaný, aj keď sa stav slučky stane nepravdivé, niekde v tele cyklu, pretože stav sa kontroluje iba pri vstupe:

Int x \u003d 1; while (x\u003e 0) (x--; // x je teraz 0 a podmienka bude nabudúce nepravdivá // Ale tento riadok sa vykoná // A tento // A dokonca aj tento)

V príklade vyššie sa telo slučky vykoná raz. Okrem toho môžete nastaviť takú podmienku, že slučka pobeží navždy - nazýva sa to nekonečný cyklus.Tu je príklad:

Int x \u003d 0; while (true) (x ++; // budem skutočne veľký!)

Opustite ich cyklus. Kľúčové slovo prestávka

Čo ak skutočne potrebujeme použiť nekonečnú slučku, ale aby sme sa mohli rozhodnúť, v ktorom bode ju opustíme. Za týmto účelom v Javaexistuje kľúčové slovo prestávka... Môžeme použiť prestávkakeď potrebujeme „opustiť“ slučku:

Int x \u003d 0; while (true) (x ++; // Chystám sa naozaj veľký! break; // Nie, nebudete! // tu nebude dosiahnutý kód)

Pravdepodobne ste už uhádli, že je možné kombinovať rôzne rozhodovacie nástroje, ako napr ak,inak,prepínač vo vnútri našej slučky zatiaľ čo a ďalšie slučky, ktoré zvážime nižšie. Napríklad:

Int x \u003d 0; int tooBig \u003d 10; while (true) (x ++; // Dostanem sa veľmi veľký! if (x \u003d\u003d tooBig) (break; // Nie, nebudete.) // kód tu bude k dispozícii, kým x nebude 10)

Môžete napísať oveľa viac rôznych variácií, ale praktické uplatnenie týchto vedomostí je pre nás dôležitejšie, preto sa teraz nebudeme hlboko venovať. Pozrime sa na ďalší koncept, ktorý je možné prevádzkovať v slučke.

Kľúčové slovo ďalej

ďalejkoná takmer rovnako ako prestávka... Kľúčové slovo ďalejvás vyhodí z tela slučky, ale potom skontrolujte podmienený výraz a pokračujte tam, kde by to bola zatváracia kučeravá zátvorka slučky, ako by to bolo pri prestávka... Nasledujúci príklad demonštruje použitie ďalej:

Int x \u003d 0; int tooBig \u003d 10; int tooBigToPrint \u003d 5; while (true) (x ++; // Chystám sa veľmi veľký! if (x \u003d\u003d tooBig) (break;) // Nie, neurobíte to. // Kód tu bude k dispozícii iba do doby, kým x nebude 10, ak (x\u003e \u003d tooBigToPrint) (// sa už nebude tlačiť na obrazovku, ale cyklus bude pokračovať;) // kód tu bude k dispozícii, kým x sa nebude rovnať 5 // kód na tlač x na obrazovku)

Vysvetlenie: Deklarujeme a inicializujeme premenné. Ideme do slučky - pripočítame k hodnote premennej xjednotka (teraz x \u003d 1). Kontrola „1 je 10?“ - nepravdivé - prvý operátor ak nevykonaný. Ďalšia kontrola je „Je 1 väčšia alebo rovná 5?“ - nepravdivé - druhý operátor ak nevykonaný. Dedukujeme x na obrazovke.

Zvážte možnosť kedy x pri vstupe do slučky nadobudne hodnotu 5. Ideme do slučky - pripočítame k hodnote premennej x jednotka (teraz x \u003d 6). Kontrola „6 je 10?“ - nepravdivé - prvý operátor ak nevykonaný. Ďalšia kontrola je „Je 6 väčšia alebo rovná 5?“ - pravda - ideme do tela akďalej, opustite slučku a skontrolujte podmienku pre vstup do slučky.

Teraz je možnosť, kedy x pri vstupe do slučky nadobudne hodnotu 9. Ideme do slučky - pripočítame k hodnote premennej xjednotka (teraz x \u003d 10). Kontrola „10 je 10?“ - pravda - ideme do tela akprestávka, ukončite slučku a kód pokračuje za uzatváracou zloženou zátvorkou slučky zatiaľ čo.

Slučka do-while

Takmer rovnaké ako predchádzajúca slučka, s výnimkou jednej zvláštnosti - kontrola podmieneného výrazu nastane po tele slučky. To znamená, že cyklus urobiť-zatiaľ čosa spustí vždy aspoň raz. Pozrite sa na príklad:

Int x \u003d 0; do (x ++;) while (x< 10); //x теперь = 10

Kľúčové slová prestávka,ďalej

Pre slučku

Cyklus pre má zložitejšiu syntax ako zatiaľ čo a urobiť-zatiaľ čopretože inicializácia vyžaduje trochu viac manipulácie. Poďme sa na to najskôr pozrieť a potom ho rozdeliť na časti:

Pre (int i \u003d 0; i< 10; i++){ //Что-то, что должно произойти 10 раз будет записано здесь }

Ako to vidí kompilátor? Páči sa ti to:

Pre (deklarácia a inicializácia; podmienka; zmena po každej slučke) (// telo slučky)

  • Vyhlásenie a inicializácia - vytvorili sme novú premennú typu int S menom i a priradil jej hodnotu 0 ;
  • Stav - podobne ako v prípade iných slučiek uvažovaných skôr, tu kontrolujeme stav vstupu do slučky. Ak sa hodnota počíta ako pravda, potom vstúpime do tela cyklu;
  • Upraviť po každom cykle - v príklade vyššie i++ znamená, že po ďalšom prechode slučky prejdeme na hodnotu premennej i pridať jeden (1). Navyše, pri zmene premennej môžeme písať a ina odpočítanie jednej, napríklad:
pre (int i \u003d 10; i\u003e 0; i -) (// odpočítavanie) // kľúč na spustenie, i \u003d 0

Kľúčové slová prestávka,ďalej môžu byť použité aj v tomto cykle.

Cyklus pre preberá kontrolu nad inicializáciou, kontrolou stavu a zmenou premenných. Vyskúšajme tento cyklus v praxi v našej aplikácii ihneď po zoznámení sa s ním náhodné čísla a metódy.