Rozdział 5 - Pętle - Pętle nieskończone

Pętle mogą działać w nieskończoność, jeżeli ich warunek nigdy nie osiągnie wartości false. Program będzie w kółko wykonywał instrukcje z ciała nieskończonej pętli.

Jedyne, co można wtedy zrobić, to wymusić zakończenie takiego programu. Programy konsolowe możemy zatrzymać skrótem Ctrl + c

Spójrzmy na najprostszy przykład nieskończonej pętli:

while (true) {
  // instrukcje
}

Tak zapisana pętla nigdy się nie zakończy – wyrażenie, które jest warunkiem pętli, to po prostu wartość true. Spójrzmy na przykład poniższego, natrętnego programu, który uparcie wypisuje na ekran komunikat "Witaj!":

Nazwa pliku: NieskonczonaPetla.java
public class NieskonczonaPetla {
  public static void main(String[] args) {
    while (true) {
      System.out.println("Witaj!");
    }
  }
}

Program po uruchomieniu z ogromną prędkością produkuje na ekranie komunikaty "Witaj!". Użycie skrótu klawiaturowego Ctrl + c powoduje wymuszenie jego zatrzymania.

Czy pętle nieskończone są do czegoś przydatne? Tak – często chcemy, aby nasz program działał cały czas i wykonywał określone operacje. Programy oferują też często użytkownikowi możliwość zakończenia jego działania, jeżeli wykona on odpowiednią akcję – podobnie, jak widzieliśmy w przykładzie pętli do..while do sumowania par liczb. Program ten działał tak długo, aż użytkownik nie wyraził chęci to jego zatrzymania poprzez podanie znaku "t", który warunkował zakończenie pętli.

Z drugiej jednak strony, nieskończone pętle często są wynikiem źle działającego kodu, w którym znajduje się jakiś błąd. Po napisaniu pętli zawsze warto zastanowić się, czy w każdym przypadku działania naszego programu warunek pętli w pewnym momencie będzie miał wartość false, a tym samym, pętla się zakończy.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Nie musisz podawać swojego imienia, e-mailu, ani strony www, aby opublikować komentarz. Komentarze muszą zostać zatwierdzone, aby były widoczne na stronie.