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 zmienna
C++:
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