różnica pomiędzy pętlą for I while

pętla for I while w C++ i Javie instrukcje iteracji, for loop, while loop i do-while loop, pozwalają na wielokrotne wykonanie zestawu instrukcji, aż warunek stanie się true i zakończy się, gdy tylko warunek stanie się false. Warunki w instrukcjach iteracji mogą być predefiniowane jak w pętli for lub otwarte jak w pętli while.

istnieje kilka odmian pętli ” for ” W C++, które zwiększają jego przydatność, moc i elastyczność. Na przykład, pętla for pozwala na użycie więcej niż jednej zmiennej wewnątrz pętli w celu jej sterowania, a użycie funkcji converge z pętlą’ for’. Odwrotnie, z pętlą while nie możemy używać wielu odmian, które muszą być używane ze standardową składnią.

istnieje kilka istotnych różnic między pętlami for I while, które są wyjaśnione za pomocą wykresu porównawczego.

treść: for loop Vs while Loop

  1. Tabela porównawcza
  2. definicja
  3. kluczowe różnice
  4. wnioski

Tabela porównawcza

podstawa do porównania dla podczas
Deklaracja for (initialization; condition; iteration){
/ / body of’ for ’ loop
}
while (condition) {
; // body of loop
}
Format Inicjalizacja, sprawdzanie stanu, Instrukcja iteracji są zapisywane na górze pętli. tylko inicjalizacja i Sprawdzanie stanu odbywa się na górze pętli.
użyj pętla 'for’ używana tylko wtedy, gdy znamy już liczbę iteracji. pętla 'while’ używana tylko wtedy, gdy liczba iteracji nie jest dokładnie znana.
warunek jeśli warunek nie jest ustawiony w pętli 'for’, wtedy pętla będzie powtarzała się nieskończenie wiele razy. jeśli warunek nie jest ustawiony w pętli 'while’, powoduje to błąd kompilacji.
Inicjalizacja w pętli’ for ’ inicjalizacja nigdy się nie powtarza. w pętli while jeśli inicjalizacja jest wykonywana podczas sprawdzania stanu, to inicjalizacja jest wykonywana przy każdej iteracji pętli.
Instrukcja iteracji w pętli’ for ’ Instrukcja iteracji jest zapisywana na górze, dlatego wykonuje się dopiero po wykonaniu wszystkich instrukcji w pętli. w pętli 'while’ Instrukcja iteracji może być zapisana w dowolnym miejscu pętli.

definicja pętli for

w Javie istnieją dwie formy pętli for. Pierwsza forma to forma „tradycyjna”, a druga” dla każdego”.

składnia

ogólna forma tradycyjnej instrukcji pętli for.

for (initialization; condition; iteration){//body of for loop}
  • Inicjalizacja: inicjalizacja zmiennej sterującej pętlą For loop jest wykonywana tylko raz, podczas pierwszej iteracji pętli. W tym przypadku inicjowana jest zmienna sterująca pętlą, czasami jeżeli zmienna pętli nie jest nigdzie w programie ponownie użyta i jest używana tylko jako zmienna sterująca pętli, wtedy jest zarówno zadeklarowana jak i zainicjowana w pętli 'for’.
  • warunek: warunek pętli ’ for ’ jest wykonywany przy każdej iteracji pętli.
  • Inkrementacja i iteracja: Instrukcja iteracji jest wyrażeniem, które zwiększa lub zmniejsza zmienną kontrolującą pętlę.

gdy pętla jest wykonywana, jej warunek inicjalizacji jest wykonywany jako pierwszy; następnie warunek jest sprawdzany. Jeżeli warunek jest spełniony, zostanie wykonana treść pętli, wtedy zostanie wykonana Instrukcja iteracja. Następnie ponownie, warunek jest sprawdzany, aby wiedzieć, czy pętla będzie dalej iterować, czy zakończy się.

w języku Java Instrukcja inicjalizacji i instrukcja iteracji mogą zawierać więcej niż jedną instrukcję. Każda instrukcja jest oddzielona przez inne przecinkiem, w Javie przecinek jest separatorem, podczas gdy w C++” przecinek ” jest operatorem, który może być użyty w dowolnym ważnym wyrażeniu.

for-each loop i jej składnia

forma „for-each” jest ulepszoną pętlą for. Ogólna forma pętli for-each jest następująca.

for(type iter_variable: collection) statement-block

tutaj „type” określa typ zmiennej iteracji, a następnie zmienną iteracji. Zmienna iteracji otrzyma element ze zmiennej kolekcji. Typ musi być taki sam jak typ elementów przechowywanych w zmiennej kolekcji. For-każda forma pętli for automatyzuje iterację pętli od początku do końca dostępu do wartości w kolejności sekwencyjnej.

przykład

istnieją różne typy kolekcji używane w pętli for. Omówmy to z tablicą jako kolekcją.

public class Main{ public static void main(String args) { int array={10, 20, 30, 40, 50, 60}; int add=0; for( int c: array) { System.out.println( "value in c " + c); add = add+c; } System.out.println("additon of array elements is " +add); }}// outputvalue in c 10value in c 20value in c 30value in c 40value in c 50value in c 60additon of array elements is 210

tutaj 'c’ jest zmienną iteracyjną; odbiera wartości z tablicy, pojedynczo, od najniższego indeksu do najwyższego indeksu w tablicy. W tym przypadku pętla jest iteracyjna, dopóki nie zostaną zbadane wszystkie elementy tablicy. Możliwe jest zakończenie pętli pomiędzy za pomocą „break”. Zmiana zmiennej iteracji nie ma jednak wpływu na tablicę, ponieważ jest ona tylko zmienną tylko do odczytu.

definicja pętli while

pętla while jest najbardziej podstawową pętlą dostępną w C++ i Javie. Działanie pętli while jest podobne zarówno w C++, jak i Javie.

składnia

deklaracja pętli while jest następująca

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

pętla while początkowo sprawdza warunek, a następnie wykonuje polecenia, aż Warunek W pętli while okaże się prawdziwy. Warunek W pętli while może być dowolnym wyrażeniem logicznym. Gdy wyrażenie zwraca dowolną wartość niezerową, wtedy warunek jest true, a jeżeli wyrażenie zwraca wartość zerową, warunek staje się false.

jeśli warunek stanie się true, wtedy pętla sama się iteracje, a jeśli warunek stanie się false, wtedy sterowanie przechodzi do następnego wiersza kodu bezpośrednio po pętli. Instrukcje lub pętla body mogą być pustym poleceniem lub pojedynczym poleceniem lub blokiem poleceń.

przykład

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

//example is in Java.public class Main{ public static void main (String args) { int n=0; while(n<10) { n++; System.out.println("n=" +n); } }}//outputn=1n=2n=3n=4n=5n=6n=7n=8n=9n=10

tutaj wartością początkową 'n’ jest 0, co czyni Warunek W pętli while prawdziwym. Kontrolka wchodzi następnie do ciała pętli while, a wartość ” n ” jest zwiększana zgodnie z pierwszym stwierdzeniem w ciele pętli while.

wypisywana jest wartość 'n’, następnie kontrolka wraca do warunku w pętli while, teraz wartość’ n ’ wynosi 1, która ponownie spełnia warunek, a ciało pętli jest ponownie wykonywane. To trwa aż warunek jest true, gdy tylko warunek stanie się false, pętla zostanie zakończona.

podobnie jak pętla 'for’, pętla 'while’ może również zainicjować zmienną sterującą na górze pętli, tzn. podczas sprawdzania stanu.

//for examplewhile((ch = getchar( ) ) != 'A'){System.out.println(" The input alphabet " +ch);}

tutaj inicjowana jest zmienna sterująca 'ch’, a stan pętli jest weryfikowany na górze pętli.

Uwaga

może to być pętla for lub pętla while, jeśli w ciele pętli znajduje się tylko jedno polecenie, klamry klamrowe nie są wymagane w tym warunku.

kluczowe różnice między pętlą for I while

  1. W pętli for, inicjalizacja, Sprawdzanie warunków oraz przyrost lub dekrementacja zmiennej iteracji odbywa się jawnie tylko w składni pętli. Podobnie jak przeciw, w pętli while możemy tylko zainicjalizować i sprawdzić warunek w składni pętli.
  2. kiedy jesteśmy świadomi liczby iteracji, które muszą wystąpić w wykonaniu pętli, wtedy używamy pętli for. Z drugiej strony, jeśli nie jesteśmy świadomi liczby iteracji, która ma wystąpić w pętli, to używamy pętli while.
  3. jeśli nie umieścisz instrukcji condition w pętli for, doprowadzi to do nieskończonej iteracji pętli. W przeciwieństwie do tego, jeśli nie umieścisz instrukcji condition w pętli while, doprowadzi to do błędu kompilacji.
  4. Instrukcja inicjalizacji w składni pętli for jest wykonywana tylko raz na początku pętli. I odwrotnie, jeśli pętla while posiada instrukcję initialization w swojej składni, to Instrukcja initialization w pętli while będzie wykonywana za każdym razem, gdy pętla będzie iteracyjna.
  5. Instrukcja iteracji w pętli for zostanie wykonana po wykonaniu pętli body for. Wręcz przeciwnie, Instrukcja iteracji może być zapisana w dowolnym miejscu w ciele pętli while, więc mogą istnieć pewne instrukcje, które wykonują się po wykonaniu instrukcji iteracji w ciele pętli while.

wniosek

obie pętle for I while są instrukcjami iteracji, ale obie mają swoją odrębną cechę. Pętla for ma całą swoją deklarację (inicjalizację, warunek, iterację) na górze ciała pętli. Niekorzystnie, w pętli while tylko inicjalizacja i warunek znajdują się na górze ciała pętli, a iteracja może być zapisana w dowolnym miejscu ciała pętli.