Zalecane, 2024

Wybór Redakcji

Różnica między pętlą while i do-while Loop

Instrukcje iteracyjne pozwalają na wielokrotne wykonywanie instrukcji, dopóki warunek nie zostanie spełniony. Instrukcje iteracyjne w językach C ++ i Java to, w przypadku pętli, pętla while i while. Te instrukcje są powszechnie nazywane pętlami. Tutaj główna różnica między pętlą while a pętlą while polega na tym, że warunek sprawdzania pętli przed iteracją pętli, podczas gdy pętla do-while sprawdza warunek po wykonaniu instrukcji wewnątrz pętli.

W tym artykule omówimy różnice pomiędzy pętlami "while" i "do-while".

Wykres porównania

Podstawa do porównaniapodczasdo-while
Formularz ogólnywhile (condition) {
sprawozdania; // treść pętli
}
robić{
.
sprawozdania; // treść pętli.
.
} while (Condition);
Stan kontrolowaniaW pętli "while" warunek kontrolny pojawia się na początku pętli.W pętli "do-while" warunek kontrolny pojawia się na końcu pętli.
IteracjeIteracje nie występują, jeśli warunek przy pierwszej iteracji jest fałszywy.Iteracja występuje co najmniej raz, nawet jeśli warunek jest fałszywy przy pierwszej iteracji.

Definicja pętli while

Pętla while jest najbardziej podstawową pętlą dostępną w językach C ++ i Java. Praca pętli while jest podobna zarówno w C ++, jak i Java. Ogólna forma pętli while:

 while (condition) {instrukcje; // body of loop} 

Pętla while najpierw weryfikuje warunek, a jeśli warunek jest prawdziwy, to iteruje pętlę, aż warunek okaże się fałszywy. Warunek w pętli while może być dowolnym wyrażeniem boolowskim. Gdy wyrażenie zwraca dowolną niezerową wartość, wówczas warunkiem jest "true", a jeśli wyrażenie zwraca wartość zerową, warunek staje się "false". Jeśli warunek staje się prawdziwy, to pętla sama się iteruje, a jeśli warunek stanie się fałszywy, to sterowanie przechodzi do następnego wiersza kodu, po którym następuje bezpośrednio pętla.

Instrukcje lub treść pętli może być pustą instrukcją lub pojedynczą instrukcją lub blokiem instrukcji.

Omówmy działanie pętli while. W poniższym przykładzie kod zostanie wydrukowany od 1 do 10.

 // przykład znajduje się w Javie. class while {public static void main (args []) {int n = 0; while (n <= 10) {n ++; system.out.println ("n =" + n); }}} // wynik n = 1 n = 2 n = 3 n = 4 n = 5 n = 6 n = 7 n = 8 n = 9 n = 10 

W tym przypadku wartość początkowa "n" wynosi 0, co zmienia warunek w pętli while. Sterowanie następnie wchodzi w ciało pętli while, a wartość "n" jest zwiększana zgodnie z pierwszą instrukcją w treści pętli while. Następnie drukowana jest wartość "n", a sterowanie powraca do stanu pętli while, teraz wartość "n" wynosi 1, co ponownie spełnia warunek, a ciało pętli jest ponownie wykonywane.

Trwa to dopóki warunek nie jest prawdziwy, gdy tylko warunek stanie się fałszywy, pętla zostanie zakończona. Podobnie jak w przypadku pętli for, pętla while również sprawdza warunek, a następnie wykonuje ciało pętli.

Definicja pętli do-while Loop

Tak jak w pętli while, jeśli warunek kontrolny staje się fałszywy tylko w pierwszej iteracji, to ciało pętli while nie jest w ogóle wykonywane. Ale pętla do-while różni się nieco od pętli while. Pętla do-while wykonuje co najmniej jedną bryłę pętli, nawet jeśli warunek jest fałszywy przy pierwszej próbie.

Ogólna forma do-while jest następująca.

 zrobić{ . instrukcje // treść pętli. . } while (Condition); 

W pętli do-while treść pętli występuje przed warunkiem kontrolowania, a instrukcja warunkowa znajduje się w dolnej części pętli. Podobnie jak w pętli while, tutaj także treść pętli może być pusta, ponieważ zarówno C ++, jak i Java zezwalają na instrukcje null lub może istnieć tylko jedna instrukcja lub blok instrukcji. Warunek tutaj jest także wyrażeniem boolowskim, które jest prawdziwe dla wszystkich wartości niezerowych.

W pętli do-while kontrola najpierw dochodzi do instrukcji w treści pętli do-while. Wyrażenia w ciele są wykonywane najpierw, a następnie sterowanie dochodzi do warunkowej części pętli. Warunek jest weryfikowany i, jeśli jest to prawdą, pętla jest ponownie iterowana, a jeśli warunek jest fałszywy, sterowanie powraca do następnego wiersza bezpośrednio po pętli.

Rozumiemy to, wdrażając powyższy przykład w "do-chwili".

 // przykład znajduje się w Javie. class while {public static void main (args []) {int n = 1; do {system.out.println ("n =" + n); n ++; } while (n <10)}} // wynik n = 1 n = 2 n = 3 n = 4 n = 5 n = 6 n = 7 n = 8 n = 9 n = 10 

W tym przypadku wartość n = 1 kontrola wznawia się do treści pętli, drukowana jest wartość "n", a następnie jej wartość jest zwiększana. Następnie kontrola powraca do stanu pętli do-while; warunek jest weryfikowany, który okazuje się prawdziwy dla n = 1, więc pętla jest iteracją ponownie i kontynuuj dopóki warunek nie stanie się fałszywy.

Kluczowe różnice między pętlą while a do-while Loop

  1. Pętla while sprawdza warunek przy uruchomieniu pętli i jeśli warunek jest spełniony, instrukcja w pętli jest wykonywana. W pętli do-while warunek jest sprawdzany po wykonaniu wszystkich instrukcji w ciele pętli.
  2. Jeśli warunek w pętli while jest fałszywy, to nie wykonuje się pojedynczej instrukcji wewnątrz pętli, a jeśli warunek w pętli "do-while" jest fałszywy, to także ciało pętli jest wykonywane co najmniej raz, a następnie testowany jest warunek.

Wniosek:

Obie pętle while i do-while są instrukcjami iteracji, jeśli chcemy to najpierw, warunek powinien zostać zweryfikowany, a następnie instrukcje w pętli muszą zostać wykonane, a następnie używana jest pętla while. Jeśli chcesz przetestować warunek zakończenia na końcu pętli, używana jest pętla do-while.

Top