Különbség a hurok között és közben
Tartalom
- Összehasonlító táblázat
- A hurok meghatározása
- Szintaxis
- minden hurokra és annak szintaxisa
- Példa
- A while ciklus meghatározása
- Szintaxis
- Példa
- Jegyzet:
- Következtetés:
A C ++ és a Java esetében a hurok, míg a hurok és a folyamat közbeni ciklus iterációs utasításai lehetővé teszik az utasítások sorozatának többszöri végrehajtását, mindaddig, amíg a feltétel valódi és befejeződik, amint a feltétel hamis. Az iterációs utasításokban a feltételek előre definiálhatók, mint a huroknál, vagy a nyílt végű, mint a while ciklusnál.
A C ++ alkalmazásának, teljesítményének és rugalmasságának növelése érdekében számos „for” hurok variáció vonatkozik a C ++ -ra. Például a for hurok lehetővé teszi, hogy egynél több változót használjunk a hurok belsejében annak vezérlésére, valamint a konverziós funkció használatát a „for” hurokkal. Ezzel szemben, míg a loop hurokkal nem használhatunk sok variációt, amelyeket a szintaxishoz kell használni.
Van néhány nagy különbség a hurkok között és közben, és ezeket tovább magyarázzuk egy összehasonlító diagram segítségével.
- Összehasonlító táblázat
- Meghatározás
- Főbb különbségek
- Következtetés
Összehasonlító táblázat
Az összehasonlítás alapja | ért,-ra,-re, mert, mivelhogy | míg |
---|---|---|
Nyilatkozat | for (inicializálás; feltétel; iteráció) { // huroktest } | míg (feltétel) { kimutatások; // huroktest } |
Formátum | Az inicializálás, az állapot ellenőrzése, az iterációs nyilatkozat a hurok tetején van írva. | Csak az inicializálás és az állapot ellenőrzése történik a hurok tetején. |
Használat | A for hurkot csak akkor használták, amikor már tudtuk az iterációk számát. | A while ciklust csak akkor használják, ha az iteráció száma nem pontosan ismert. |
Állapot | Ha a feltételt nem adják meg a hurokhoz, akkor a hurok végtelen időket iterál. | Ha a feltételt nem teszik be hurok közben, akkor fordítási hibát okoz. |
inicializálás | A hurokban az elvégzett inicializálás soha nem ismétlődik meg. | A ciklus közben, ha az inicializálást az állapot-ellenőrzés során hajtják végre, akkor az inicializálást minden alkalommal a hurok iterálásakor meg kell tenni. |
Iratációs nyilatkozat | A hurok iterációjában az állítás felül van írva, tehát csak akkor kerül végrehajtásra, ha a hurokban szereplő összes utasítás végrehajtásra kerül. | A while ciklusban az iterációs utasítás bárhonnan megírható. |
A hurok meghatározása
A Java-ban kétféle formája van ért,-ra,-re, mert, mivelhogy hurkok. Az első forma „hagyományos”, a második pedig „mindenkinek”.
Szintaxis
A huroknyilatkozás hagyományos formája.
for (inicializálás; feltétel; iteráció) {// a hurok törzse}
- inicializálás - A hurokvezérlő változó inicializálása csak egyszer kerül végrehajtásra, a hurok első iterációja során. Itt a hurokvezérlő változó inicializálódik, néha, ha a hurokváltozót nem használják újra a program bármelyik részében, és csak a hurok vezérlő változójaként használják, akkor mind deklarálják, mind inicializálják a „for” hurokban.
- Állapot - A „for” hurok feltételét minden alkalommal végrehajtják, amikor a hurkot megismételik.
- Növekedés és iteráció- Az iterációs utasítás egy kifejezés, amely növeli vagy csökkenti a hurokvezérlő változót.
Amikor a hurkot végrehajtják, először az inicializálási feltételt hajtják végre; majd ellenőrzik az állapotot. Ha a feltétel teljesül, akkor a hurok törzsét végrehajtják, majd az iterációs utasítás kerül végrehajtásra. Ezután ismét megvizsgáljuk a feltételt, hogy megtudjuk, a hurok tovább iterálódik-e, vagy véget ér-e.
A Java-ban az inicializáló utasítás és az iterációs utasítás egynél több utasítást tartalmazhat. Az egyes állításokat vessző választja el egymással, Java-ban a vessző elválasztó, míg C ++-ban a „vessző” operátor, amely bármilyen érvényes kifejezésben használható.
minden hurokra és annak szintaxisa
A „mindenkinek” forma továbbfejlesztett hurok. Az egyes hurkok általános formája a következő.
for (írja iter_variable: collection) utasítás-blokkhoz
Itt a „type” határozza meg az iterációs változó típusát, amelyet az iterációs változó követ. Az iterációs változó megkapja az elemet a gyűjtemény változótól. A típusnak meg kell egyeznie a gyűjteményváltozóban tárolt elemek típusával. A hurok mindegyik formája automatizálja a hurok iterációját, az értékek szekvenciális sorrendben való elérése kezdetétől a végéig.
Példa
Különböző típusú gyűjtők használhatók a hurokhoz. Beszéljünk egy tömbről, mint gyűjteményről.
public class main {nyilvános statikus void main (karakterláncok) {int array = {10, 20, 30, 40, 50, 60}; int add = 0; for (int c: tömb) {System.out.ln ("érték c-ben" + c); add = add + c; } System.out.ln ("a tömb elemek kiegészítése" + hozzáadása); }} // a kimeneti érték c 10 értékben c 20 értékben c 30 értékben c értékben c 40 értékben c 50 értékben c tömb elemek 60 hozzáadásakor 210
Itt a 'c' iterációs változó; az értékeket tömbből, egyenként, a tömb legalacsonyabb indexétől a legmagasabb indexéig veszi. Itt a hurok addig ismétlődik, amíg a tömb összes elemét meg nem vizsgálják. A „hurok” használatával a hurok közt megszakítható. Az iterációs változó változása azonban nem érinti a tömböt, mivel csak olvasható változó.
A while ciklus meghatározása
A míg A hurok a legalapvetőbb hurok, amely a C ++ és a Java esetében elérhető. Egy ideig tartó hurok működése hasonló a C ++ és a Java esetében is.
Szintaxis
Egy ideig tartó hurok deklarálása a következő
while (feltétel) {kijelentések; // huroktest}
A while ciklus kezdetben ellenőrzi a feltételt, majd végrehajtja az utasításokat, amíg a feltétel be nem kerül, míg a hurok igaznak bizonyul. A loop ciklusban bármilyen logikai kifejezés lehet. Ha egy kifejezés visszatér bármilyen nulla értéket, akkor a feltétel igaz, és ha a kifejezés nulla értéket ad vissza, akkor a feltétel hamis lesz.
Ha a feltétel valóra válik, akkor a hurok ismétlődik, és ha a feltétel hamis, akkor a vezérlés a kód következő sorára halad, amelyet közvetlenül a hurok követ. Az állítások vagy a test hurok lehet üres utasítás vagy egyetlen utasítás vagy mondatok blokkja.
Példa
Beszéljünk meg egy ideig tartó hurok működéséről. Az alábbi példában a kód 1-től 10-ig terjed.
// A példa Java-ban található. public class main {nyilvános statikus void main (karakterláncok) {int n = 0; míg (n <10) {n ++; System.out.ln ("n =" + n); }}} // output k = 1 n = 2 n = 3 n = 4 n = 5 n = 6 n = 7 n = 8 n = 9 n = 10
Itt az 'n' kezdeti értéke 0, ami valódivá teszi az in situ ciklust. A vezérlés ezután belép a némi hurok testébe, és az 'n' értékét növelik az egy ideig tartó hurok első állításának megfelelően. Az 'n' értékét szerkesztik, majd a vezérlés egy ideig visszakerül a feltételhez, most az 'n' értéke 1, amely ismét teljesíti a feltételt, és a hurok törzse ismét végrehajtásra kerül. Ez addig folytatódik, amíg a feltétel nem teljesül, amint a feltétel hamis, a hurok megszakad.
A „for” hurokhoz hasonlóan a „while” hurok a hurok tetején is beállíthatja a vezérlő változót, azaz az állapot ellenőrzésekor.
// például amíg ((ch = getchar ()) = A) {System.out.ln ("A bemeneti ábécé" + ch); }
Itt a 'ch' vezérlőváltozót inicializálják, és a hurok állapotát a hurok tetején ellenőrzik.
Jegyzet:
Lehet, hogy van egy hurok vagy egy ideig tartó hurok, ha a hurok testében csak egy állítás van, akkor a göndör tartóknak ebben a helyzetben nincs szükségük.
- Ban ben ért,-ra,-re, mert, mivelhogy hurok, inicializálás, állapot-ellenőrzés, valamint az iterációs változó növelése vagy csökkentése kifejezetten a hurok szintaxisában történik. Ezzel szemben a míg hurok csak a hurok szintaxisában inicializálhatjuk és ellenőrizhetjük az állapotot.
- Ha tisztában vagyunk azzal, hogy hány iterációnak kell végrehajtania egy hurok végrehajtását, akkor ezt használjuk ért,-ra,-re, mert, mivelhogy hurok. Másrészt, ha nem tudjuk, hogy mennyi iterációnak kell előfordulnia egy hurokban, akkor ezt használjuk míg hurok.
- Ha nem tudja feltölteni a feltételt ért,-ra,-re, mert, mivelhogy hurok, ez hurok végtelen ismétléséhez vezet. Ezzel szemben, ha nem adja meg a feltételt a míg hurok fordítási hibához vezet.
- Az inicializálási nyilatkozat a ért,-ra,-re, mert, mivelhogy A hurok csak egyszer hajt végre a hurok elején. Fordítva, ha míg A hurok az inicializálási nyilatkozatot tartalmazza a szintaxisában, akkor a inicializáló utasítás a while ciklusban minden alkalommal végrehajtódik, a hurok ismétlődik.
- Az iterációs nyilatkozat a ért,-ra,-re, mert, mivelhogy A hurok akkor kerül végrehajtásra, amikor a hurok törzsét végrehajtja. Éppen ellenkezőleg, az iterációs nyilatkozat bárhol felírható a míg hurok, tehát lehet, hogy vannak utasítások, amelyek végrehajtásra kerülnek az iterációs utasítás végrehajtása után a while ciklusban.
Következtetés:
Mind a for loop, mind a loop hurok iterációs utasítás, de mindkettő megkülönböztető tulajdonsággal rendelkezik. A for huroknak minden deklarációja (inicializálás, feltétel, iteráció) a hurok testének tetején található. Ezzel ellentétben, míg a hurokban csak az inicializálás és az állapot a huroktest tetején van, és az iterációt a hurok testének bárhol fel lehet írni.