Przeczytaj
Przypominając sobie, czym jest pętla while i jak jest zbudowana, przeanalizujmy poniższy pseudokod:
Od razu wiadomo, że budowa pętli while składa się z warunku. Oznacza to, że pętla będzie wykonywać powierzone zadania, dopóki podany warunek będzie spełniony. Ta cecha pozwala na zdefiniowanie pętli while słowami pętla warunkowa.pętla warunkowa.
Składnia w języku Java
Sprawdźmy zatem, jaka jest składnia powyższego pseudokodu w języku Java.
Zauważmy, że ten rodzaj pętli w języku C++ wygląda identycznie, jak w języku Java. Najpierw sprawdzany jest warunek, a następnie wykonywane są zawarte w pętli instrukcje.
W tej implementacji istnieje możliwość, że instrukcje znajdujące się wewnątrz pętli mogą nigdy się nie wykonać! Jeżeli niepoprawnie dobierzemy warunek pętli while, to oczekiwane operacje mogą nie dojść do skutku.
Zapoznaj się z przykładem takiej sytuacji:
Zmienna logicznaZmienna logiczna przyjmuje wartość logiczną true (prawda), a instrukcje w naszej pętli wykonają się tylko wtedy, gdy warunek == false. Oznacza to, że w tym przypadku nie ma znaczenia, co napiszemy w ciele pętli while – nie zostanie to zrealizowane.
W kolejnym przykładzie przedstawimy odwrotną sytuację, ale również ściśle związaną z warunkiem w pętli while. Warunek zostanie opisany w taki sposób, aby pętla wykonywała się w nieskończoność. Zdarza się, że w programowaniu podejmuje się takie działanie – np. gdy zlecone polecenie ma się wykonywać w tle, przez cały czas pracy aplikacji, albo dla testów samej aplikacji lub którejś z jej funkcjonalności.
Zwróć uwagę, w jaki sposób rozwiązujemy ten problem, analizując poniższy kod programu napisanego w języku Java.
Na wyjściu programu będzie się cały czas ukazywał tekst „JESTEM PĘTLĄ NIESKONCZONĄ”. Spowodowała to pierwsza linia kodu: while (4 > 3). Użyliśmy zdania logicznego prawdziwego: liczba 4 jest zawsze większa od 3, więc nasza instrukcja będzie się wykonywała w nieskończoność.
Istnieją też inne sposoby, żeby pętla while wykonywała się w nieskończoność. Jednym z nich jest napisanie w warunku pętli while słowa kluczowego true:
Skoro warunek wykonania pętli to true, pętla zawsze będzie się wykonywać.
Modyfikacje – pętla do.. while
Czy poznana teraz składnia to jedyny sposób do zapisania pętli while w języku Java? Podobnie jak w języku C++, istnieje możliwość drobnego zmodyfikowania pętli while:
Zastanów się teraz i spróbuj udzielić odpowiedzi na pytania dotyczące modyfikacji pętli:
Co nam to umożliwia?
Jaka jest różnica między pętlą
while, ado.. while?
Modyfikacja ta powoduje, że niezależnie od podanego w while (warunek) warunku i tak chociaż raz wykona się to, co jest w ciele pętli do. Przyjrzyjmy się temu przykładowi:
Nasz warunek nie umożliwia dalszego wykonania pętli – na ekranie pojawi się jeden raz napis „INFORMATYKA TO MOJA PASJA”, ponieważ warunek ten jest sprawdzany dopiero na końcu, po jednokrotnym wykonaniu do.
Spróbujmy jednak osiągnąć podobną sytuację, wykorzystując zmienną logiczną boolean, żeby porównać działanie obu pętli w jednym programie.
Na wyjściu programu ukaże nam się łańcuch znaków: „Pętla do.. while”, co potwierdza wcześniejsze rozważania.
Mamy już podstawy dotyczące składni pętli while w języku Java – przejdźmy do praktycznych przykładów.
W języku Java inaczej deklarujemy zmienną logiczną niż w języku C++.
Java:
boolean zmiennaC++:
bool zmienna
Słownik
rodzaj pętli, w której zdefiniowany jest warunek, od którego zależy wykonanie kolejnej iteracji; warunek zawarty w definiowanej pętli jest pewnym wyrażeniem, które zwraca wartość typu logicznego; zależnie od tego, czy wartość logiczna uzyskana w wyniku ewaluacji wyrażenia jest równa wartości logicznej true (prawda), czy false (fałsz), wykonywanie pętli jest kontynuowane bądź przerywane
zmienna, która przyjmuje wartości 1 (true – prawda) lub 0 (false – fałsz); najczęściej używana do sprawdzenia, czy dany warunek zachodzi