/ / Végtelen a (Java) hurokhoz

Végtelen a (Java) hurok számára

Java-ban, mint szinte minden nyelvenprogramozáshoz vannak olyan eszközök, amelyek lehetővé teszik egy bizonyos kódrész többszörös megismétlését, vagy ahogy nevezik ciklusokat. A Java-ban lévő hurokokat olyan állítások reprezentálják, mint a for és a, valamint azok variánsai. Általános szabályként a hurokokat egydimenziós és többdimenziós tömbök és iterálható adatstruktúrák (beleértve a gyűjteményeket) ismétlésére használják bizonyos elemek és további műveletek megkeresésére. Azonban nem ez az egyetlen módja egy olyan eszköz használatának, mint a Java hurok. Felhasználási példákat adunk meg, ahogy figyelembe vesszük.

Java while loop: leírás és példák

Az alapvető hurok operátor a Java-ban azmíg. A törzsébe zárt kódrészlet addig ismétlődik, amíg a zárójelbe zárt kifejezés állapota kielégíti az igazság logikai értékét. A while utasítás általános formája a következő:

while (feltétel) {

// ciklustest

}

Amint a logikai feltétel értéke megszűnik igaznak lenni, a hurok törzsébe zárt kód leáll, és a vezérlés közvetlenül utána kerül a sorra.

hurkok a java-ban
Ha a hurok törzse csak egy utasítást tartalmaz,akkor a göndör zárójelek elhagyhatók, azonban jó formának számít, ha mindig megjelennek. A fenti ábra a kezelő működésének tömbvázlatát mutatja.

Az egyértelműség kedvéért nézzük meg az alábbi ábrán látható példát:

míg hurok java

A deklarált változószám kezdetben megvan1. érték. Ezután egy logikai kifejezést látunk zárójelbe zárva az operátor neve után. Igaz lesz, azaz return true mindaddig, amíg a számláló változó értéke kisebb vagy egyenlő, mint 10. A ciklus törzsében minden egyes lépésnél (iterációnál) a változó értéke 1-gyel növekszik, és megjelenik a konzol képernyőn. Vegye figyelembe, hogy amikor a változó elérte a 11-et, a hurok leállt.

Ha a változószám értéke eredetileg 11-gyel volt egyenlő, akkor a hurokfeltétel hamis lenne, és a program nem is lépne be a testébe.

Érdemes megjegyezni, hogy a Java szintaxis lehetővé teszihasználja a while állítást test nélkül. Mondjunk példát. Tegyük fel, hogy két változónk van: i = 100 és j = 200, szembe kell néznünk azzal, hogy számtani átlagukat programszerűen kiszámítsuk - ehhez használhatjuk a "hollow" -t, miközben:

míg (++ i <- j);

Ennek eredményeként a két változó értéke megegyezik eredeti értékük átlagával. Mint látható, a hurok test nélkül jól működött, és minden szükséges műveletet feltételes kifejezéssel hajtott végre.

Do-while hurok

Az előző példákban, ha a feltételes kifejezéseredetileg hamis értéket adott vissza, akkor a program végrehajtása figyelmen kívül hagyta a ciklustestet és továbblépett. Gyakran felmerül azonban olyan helyzet, amikor a ciklus törzsében lévő kód végrehajtása legalább egyszer kötelező, függetlenül a feltételes kifejezés igazságától. Más szavakkal, előfordul, hogy egy feltételes kifejezés igazságát nem a ciklus elején, hanem a végén kell ellenőrizni. A while ciklus do-while nevű változata biztosíthatja ezt a funkciót. Ennek a következő formája van:

csináld
// ciklustest

} while (feltétel);

Mint láthatjuk, először a hurok teste megy a végrehajtásra, és csak ezután ellenőrizzük a feltétel igazságát - és így tovább minden iterációt.

java hurok példák

A fenti kód valami ilyesmit fog működniugyanaz, mint egy szokásos időzítésnél. Ha azonban a 11 értéket hozzárendeltük a változószámhoz, akkor a hurok törzse még egyszer végrehajtásra került, mielőtt az operátor tesztelhette volna a kifejezés igazat.

A Java hurok leírása és példái

A for hurok sokoldalú éshatékony nyelvi forma Java-ban. A Java SDK ötödik verziója előtt csak egy hagyományos formája volt a for utasításnak, majd megjelent egy új - mindegyikhez. Ebben a részben megismerkedünk a hagyományos operátor űrlappal. Java esetében a hurok így néz ki:

java hurokhoz

Mielőtt az ellenőrzés átkerül a törzs kódjábahurok, először az i változó inicializálódik, hogy számlálóként működjön. Ezután egy feltételes kifejezést ellenőriznek, amelyben a számlálót összehasonlítják egy bizonyos értékkel, és ha igazra tér vissza, akkor a hurok törzse végrehajtásra kerül. Ezután a számláló értékét egy előre meghatározott lépés megváltoztatja, és a feltételes kifejezést újra ellenőrizzük, és így tovább, amíg a feltétel hamis nem lesz. Az alábbi folyamatábra a ciklus minden szakaszát szemlélteti.

java hurokhoz

A jobb megértés érdekében íme egy példa a Java for loop működésére:

java hurokhoz

Látjuk, hogy a számlálót használjákváltozó loopVal. A ciklus minden egyes iterációja után értéke 1-gyel növekszik, és ez addig folytatódik, amíg el nem éri a 11-et. Vegye figyelembe, hogy a vezérlő változó deklarálható a for utasításon kívül, de ha ezt a változót sehol nem fogja használni, csak ciklus, ajánlott közvetlenül az utasításban deklarálni. Ne feledje, hogy az utasításban deklarált változó magában a ciklusban található.

Vannak olyan helyzetek, amikor nyilatkoznia kelltöbb változó vezérli a ciklust. A Java esetében a hurok lehetővé teszi két vagy több változó megadását vesszővel elválasztva, és ez megtehető mind az inicializálásuk, mind az iteráció során. Egy ilyen operátor így fog kinézni:

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

Minden iteráció esetén az i változó értéke 1-gyel nő, a j változó értéke 1-vel csökken. Az iterációkat addig hajtjuk végre, amíg i nagyobb vagy egyenlő, mint j.

Az operátor használatának jellemzői

A for hurok meglehetősen rugalmaskonstrukciót, mivel mindhárom része (inicializálás, feltétel és növekmény / csökkentés) használható felirat nélkül. Például egy vezérlő változóval rendelkező feltételes kifejezés helyett bármelyik logikai változó helyettesíthető.

logikai kimenet = hamis;

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

kilépés = igaz;

}

A fenti példában megfigyelhetjük, hogyan működik a munkaA hurok abszolút független az i kontrollváltozótól, és az iterációk száma kizárólag attól a pillanattól függ, amikor a változó kilépése igaz lesz. Ezenkívül a vezérlő változó teljesen eltávolítható a hurokból, és ez semmilyen módon nem befolyásolja annak működését: for (;! Exit;) {}. Bár nem a legokosabb programozási mód, időnként hasznos lehet. A lényeg egy olyan helyzet előrejelzése, amelyben a változó a ciklusból való kilépéshez szükséges értéket veszi fel, hogy ne váljon végtelenné.

A Java esetében egy hurok deklarálható ígymódon: for (;;) {}. Ez egy tipikus példa egy végtelen ciklusra, speciális megszakítási feltételekkel. Az ilyen ciklusok megszakításáról egy kicsit később beszélünk.

Minden hurokhoz

A Java foreach ciklus mindig erre vonatkozikegy tömb vagy valamilyen adatszerkezet elemeinek ismétlése és bizonyos ismétlődő műveletek végrehajtása rajtuk. Az alábbiakban bemutatunk egy példát a for utasítás ezen formájára:

foreach hurok java

Az iterációs változó deklarálva vannév, és a korábban deklarált karakterláncnevek tömbje az operátor második argumentumaként működik. A változó neve felveszi a tömb egyes elemeinek értékeit, amíg az összes elemét be nem találják. Meg kell jegyezni, hogy a változó típusának kompatibilisnek kell lennie a tömbben tárolt elemek típusával. Ezenkívül a névváltozó kizárólag olvasásra áll rendelkezésre, és annak megváltoztatására tett kísérlet nem változtatja meg magát a tömböt.

Hurok megszakítási nyilatkozatok

Három hurokmegszakítási utasítás létezik:szünet, visszatérés és folytatás. Az első kettő képes teljesen megszakítani a hurok munkáját, míg a folytatás csak az aktuális iteráció munkáját szakítja meg. Ha szándékosan egy végtelen Java ciklust használ a kódban, akkor ezeknek az operátoroknak jelen kell lenniük. Nézzünk meg egy egyszerű példát a break használatára:

java hurok kilépés

Bár ez az utasítás esetében 11 iterációt nyújt, csak 8 kerül végrehajtásra, mert amikor az i számláló 7, akkor a törés utasítással rendelkező feltétel elindul a testben.

A return utasítás hasonló módon működik, azzal a különbséggel, hogy nemcsak kilép a Java ciklusból, hanem kilép a metódusból is, amelybe a hurok kerül.

A szünet használata goto-ként

Ne feledje, hogy a szünet megszakítjacsak az a ciklus, amelynek testében közvetlenül található, azaz ha beágyazott hurokban használja, akkor a külső hurok nem ér véget. Ehhez a break utasítás használható a goto civilizált formájaként.

Ebben a változatban ezt az operátort használjákegy címkével együtt, amely lehetővé teszi a kilépés megszervezését nemcsak hurkokból, hanem bármelyik kódblokkból is. A címke egy megfelelően elnevezett azonosító, amelyet kettőspont követ. A címkét a kódblokk elején kell megjelölni. A megjelölt blokk végrehajtásának megszakításához a megfelelő helyen kell nyilatkoznia: break tag_name. Tekintsük az alábbi ábra példáját:

végtelen hurok java

A kód három blokkot deklarál a One címkék nevével,Kettő, illetve Három. A Two feliratú break utasítás mind a három blokkba be van ágyazva, de kiváltásakor a program kilép a Három és a Két blokkból, és az Egy blokkban folytatja a végrehajtást. Azok. két üzenetet fogunk látni a konzolon: Három és Egy.

következtetés

Megismerkedtünk a Java hurkok fogalmával,a fő while és az utasításokhoz, valamint a do-while és az egyes formákhoz. A jobb megértés érdekében javasoljuk, hogy végezzen gyakorlatokat ezen operátorok különböző formájú felhasználásával, valamint megszakításuk és az egyik blokkból a másikba való mozgás különféle módjaival.