U ovom ćemo članku raspravljati o razlikama između petlje „dok“ i „do-while“ petlje.
Tablica usporedbe
Osnova za usporedbu | dok | do-a |
---|---|---|
Opći obrazac | dok (uvjet) { izjave; // tijelo petlje } | čini{ , izjave; // tijelo petlje. , } dok (uvjet); |
Kontroliranje uvjeta | U 'while' petlji stanje kontroliranja se pojavljuje na početku petlje. | U 'do-while' petlji stanje kontroliranja pojavljuje se na kraju petlje. |
iteracija | Ponavljanje se ne događa ako se stanje na prvoj iteraciji čini lažnim. | Iteracija se događa barem jednom, čak i ako je uvjet na prvoj iteraciji pogrešan. |
Definicija petlje
Petlja while je najtemeljnija petlja dostupna u C ++ i Java. Rad petlje je sličan u C ++ i Java. Opći oblik petlje je:
while (uvjet) {tvrdnje; // tijelo petlje}
Prvenstvo while prvo provjerava stanje, a ako je uvjet istinit tada, iterira petlju dok se uvjet ne ispostavi lažnim. Uvjet u while petlji može biti bilo koji boolean izraz. Kada izraz vraća bilo koju vrijednost koja nije nula, tada je uvjet "true", a ako izraz vraća nultu vrijednost, uvjet postaje "false". Ako uvjet postane istinit, onda se petlja sama ponavlja, a ako uvjet postane lažan, tada kontrola prelazi u sljedeći redak koda koji odmah slijedi petlja.
Izjave ili tijelo petlje mogu biti prazna ili samo jedna izjava ili blok izjava.
Razgovarajmo o radu jedne petlje. U primjeru ispod, kod će se ispisati od 1 do 10.
// primjer je u Javi. class while {javni statički prazni glavni (args []) {int n = 0; dok (n <= 10) {n ++; system.out.println ("n =" + n); }}} // izlaz n = 1 n = 2 n = 3 n = 4 n = 5 n = 6 n = 7 n = 8 n = 9 n = 10
Ovdje je početna vrijednost 'n' 0, što znači da je uvjet u while petlji istinit. Kontrola zatim ulazi u tijelo while petlje i vrijednost 'n' se povećava prema prvoj izjavi u tijelu jedne petlje. Tada se ispisuje vrijednost 'n', a opet se kontrola vraća u stanje neke petlje, sada je vrijednost 'n' 1, što opet zadovoljava uvjet, a tijelo petlje se ponovno izvršava.
To se nastavlja sve dok uvjet nije istinit, čim uvjet postane lažno, petlja se prekida. Kao i za loop, petlja while prvo provjerava stanje i zatim izvršava tijelo petlje.
Definicija do-while petlje
Kao u while petlji, ako stanje kontrolinga postane lažno samo u prvoj iteraciji, tada se tijelo while petlje uopće ne izvršava. No, do-while petlja je nešto drugačija od loop-a. Petlja do-while izvršava tijelo petlje barem jednom, čak i ako je uvjet pogrešan pri prvom pokušaju.
Opći oblik do-while je kako slijedi.
čini{ . statement // tijelo petlje., } dok (uvjet);
U do-while petlji, tijelo petlje se pojavljuje prije stanja kontrolinga, a uvjetna naredba je na dnu petlje. Kao iu while petlji, ovdje također, tijelo petlje može biti prazno jer i C ++ i Java dopuštaju null izjave ili, može biti samo jedan izraz ili, blok izjava. Ovdje je uvjet i boolean izraz, koji vrijedi za sve vrijednosti koje nisu nule.
U do-while petlji, kontrola prvi dolazi do izraza u tijelu do-while petlje. Prvo se izvršavaju izjave u tijelu, a zatim upravljačka jedinica dosegne uvjetni dio petlje. Uvjet je provjeren i, ako je istina, petlja se ponavlja i ako je uvjet lažno, kontrola se nastavlja na sljedeći redak odmah nakon petlje.
Razmotrimo ga primjenom gore navedenog primjera.
// primjer je u Javi. class while {javni statički prazni glavni (args []) {int n = 1; do {system.out.println ("n =" + n); n ++; } dok (n <10)}} // izlaz n = 1 n = 2 n = 3 n = 4 n = 5 n = 6 n = 7 n = 8 n = 9 n = 10
Ovdje se vrijednost n = 1 kontrole nastavlja na tijelo petlje, ispisuje se vrijednost 'n' i tada se njegova vrijednost povećava. Tada se kontrola nastavlja na stanje do-while petlje; uvjet je provjeren koji se ispostavi istinitim za n = 1, dakle, petlja se ponavlja i nastavlja sve dok stanje ne postane lažno.
Ključne razlike između i do-petlje
- Dok petlja provjerava stanje pri pokretanju petlje i ako je uvjet zadovoljen, izjava unutar petlje se izvršava. U do-while petlji, uvjet se provjerava nakon izvršenja svih izraza u tijelu petlje.
- Ako je uvjet u nekoj petlji lažan, ne izvodi se niti jedan izraz unutar petlje, a ako je uvjet u 'do-while' petlji lažan, tada se tijelo petlje izvršava barem jednom, a uvjet se testira.
Zaključak:
I loop i do-while petlja su izraz iteracije, ako to želimo prvo, uvjet treba provjeriti, a zatim se naredbe unutar petlje moraju izvršiti, a zatim se koristi while petlja. Ako želite testirati uvjet završetka na kraju petlje, tada se koristi petlja do-while.