Ajánlott, 2021

Szerkesztő Választása

Az idő és a ciklus közötti különbség

Az iterációs utasítások lehetővé teszik, hogy az utasításkészlet ismételten végrehajtható legyen, amíg a feltétel nem hamis. A C ++ és Java Iterációs állításai a hurok, míg a hurok és a ciklus során. Ezeket az állításokat általában hurkoknak nevezik. Itt a fő különbség egy hurok és a hurok között az, hogy míg a hurokellenőrzés feltétele a ciklus iterációja előtt, míg a do-time ciklus ellenőrzi az állapotot a cikluson belüli utasítások végrehajtása után.

Ebben a cikkben megvitatjuk a különbségeket az „idő” hurok és a „do-time” hurok között.

Összehasonlító táblázat

Az összehasonlítás alapjamígcsinálni, miközben
Általános formamíg (állapot) {
kimutatások; // hurok teste
}
do {
.
kimutatások; // hurok teste.
.
} míg (Állapot);
Ellenőrző állapotA 'ciklus' hurokban a szabályozási feltétel a hurok elején jelenik meg.A 'do-time' hurokban a vezérlő feltétel a ciklus végén jelenik meg.
Az ismétlésekAz iterációk nem fordulnak elő, ha az első iterációs állapot hamisnak tűnik.Az iteráció legalább egyszer akkor fordul elő, ha a feltétel hamis az első iterációnál.

Loop meghatározása

A ciklus a C + + és a Java-ban elérhető legalapvetőbb hurok. A C ++ és Java egyidejű hurok működése hasonló. A ciklus általános formája:

 míg (állapot) {állítások; // hurok teste} 

A hurok először ellenőrzi az állapotot, és ha ez a feltétel igaz, akkor a ciklus ismétlődik, amíg a feltétel hamis. A ciklusban lévő állapot bármilyen logikai kifejezés lehet. Ha a kifejezés nem-nulla értéket ad vissza, akkor a feltétel „igaz”, és ha egy kifejezés nulla értéket ad vissza, a feltétel „hamis” lesz. Ha a feltétel valóra válik, akkor a ciklus ismételten megismétlődik, és ha a feltétel hamis lesz, akkor a vezérlő a kód következő sorába halad tovább, amelyet a hurok követ.

A hurok kimutatásai vagy teste lehet üres nyilatkozat vagy egyetlen utasítás vagy egy mondatblokk.

Beszéljünk meg egy kis hurok működéséről. Az alábbi példában a kód 1-10.

 // példa Java. osztály, míg {public static void main (args []) {int n = 0; míg (n <= 10) {n ++; system.out.println ("n =" + n); }}} // kimenet n = 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 az állapotot hurok igazaként fordítja. A vezérlés ezután belép a hurok testébe, és az 'n' értéke növekszik az első kijelentés szerint egy kis hurok testében. Ekkor kinyomtatjuk az 'n' értékét, és a vezérlés ismét egy ideig tartó hurok állapotára tér vissza, most az 'n' értéke 1, amely ismét kielégíti a feltételt, és a hurok teste újra végrehajtódik.

Ez addig folytatódik, amíg a feltétel igaz, amint a feltétel hamis lesz, és a hurok megszűnik. A hurokhoz hasonlóan a hurok is először ellenőrzi az állapotot, majd végrehajtja a hurok testét.

A ciklus vége meghatározása

Ahogy a ciklusban is, ha a vezérlőfeltétel csak hamis lesz az első iterációban, akkor az időhurok teste egyáltalán nem hajtódik végre. De a hurok-ciklus kissé eltér a huroktól. A ciklus ciklusa legalább egyszer végrehajtja a hurok testét, még akkor is, ha az első kísérlet során a feltétel hamis.

A do-time általános formája a következő.

 csináld {. utasítások // hurok teste. . } míg (Állapot); 

Egy do-ciklusban a hurok teste a szabályozási állapot előtt következik be, és a feltételes utasítás a hurok alján található. Ahogy a hurokhoz hasonlóan, itt is a hurok teste üres lehet, mivel mind a C ++, mind a Java lehetővé teszi a null utasításokat, vagy csak egy nyilatkozat vagy mondatblokk lehet. A feltétel itt is egy logikai kifejezés, amely igaz az összes nem nulla értékre.

Egy ciklusban a vezérlő először a kijelentéshez jut egy do-time hurok testében. A testben lévő állítások először végrehajtásra kerülnek, majd a vezérlő eléri a hurok állapotának részét. A feltétel ellenőrizhető, és ha igaz, akkor a hurok ismételten ismétlődik, és ha a feltétel hamis, akkor a vezérlő a ciklus után azonnal újraindul a következő sorra.

Tegyük fel, hogy a fenti példát végrehajtjuk.

 // példa Java. osztály, míg {public static void main (args []) {int n = 1; do {system.out.println ("n =" + n); N ++; } míg (n <10)}} // kimenet n = 1 n = 2 n = 3 n = 4 n = 5 n = 6 n = 7 n = 8 n = 9 n = 10 

Itt az n = 1 érték, amely a vezérlő újraindul a hurok testére, az 'n' értéke kinyomtatódik, majd az értéke növekszik. Ezután a vezérlés folytatódik a do-time hurok állapotához; a feltétel ellenőrizhető, ami n = 1 esetén igaz, így a hurok ismételten ismétlődik, és folytatódik, amíg a feltétel hamis.

Kulcsfontosságú különbségek az idő és a do-hurok között

  1. A hurok ellenőrzi az állapotot a hurok indításakor, és ha a feltétel teljesül, akkor a hurok belsejében megtörténik. A ciklusban az állapotot a hurok testében lévő összes utasítás végrehajtása után ellenőrzik.
  2. Ha a feltétel egy hurokban hamis, akkor a hurokon belüli egyetlen utasítás nem kerül végrehajtásra, és ha a 'do-time' hurok állapota hamis, akkor a hurok teste is legalább egyszer végrehajtódik, majd a feltétel tesztelése megtörténik.

Következtetés:

Mind az idő, mind pedig a ciklus ciklus az iterációs utasítás, ha azt szeretnénk, hogy először, a feltételt ellenőrizni kell, majd a hurok belsejében lévő állításoknak végre kell hajtaniuk, majd a hurkot kell használni. Ha azt szeretné, hogy tesztelje a terminál végét a hurok végén, akkor a do-time hurkot használja.

Top