CodeGym /Kursy /JAVA 25 SELF /Pętla for: wprowadzenie i niuanse działania

Pętla for: wprowadzenie i niuanse działania

JAVA 25 SELF
Poziom 4, Lekcja 2
Dostępny

1. Wprowadzenie

Wyobraź sobie, że masz zadanie: wypisać na ekran „Cześć!” dziesięć razy. Oczywiście można napisać dziesięć linii z System.out.println("Cześć!"); — ale przecież znasz już pętlę while, więc bez problemu sobie z tym poradzisz.

Ale jest jeszcze jedna pętla — for, która powtarza potrzebną czynność wymaganą liczbę razy. Co więcej, potrafi liczyć sama!

Oto typowy przykład:

for (int i = 0; i < 10; i++)
{
    System.out.println("Cześć!");
}
Klasyczna pętla for — wypisać "Cześć!" 10 razy

Co robi ten kod? Wypisuje na ekran słowo „Cześć!” dokładnie 10 razy. Bez kopiuj-wklej i bólu nadgarstka.

2. Składnia pętli for

Pętla for składa się z trzech podstawowych części, które zapisuje się w nawiasach okrągłych po słowie kluczowym for:

for (initialization; condition; change)
{
    // Treść pętli
}
Ogólna składnia pętli for

Przeanalizujmy każdy element szczegółowo:

  • Inicjalizacja — zazwyczaj utworzenie zmiennej‑licznika, od której zaczyna się zliczanie powtórzeń (int i = 0).
  • Warunek — sprawdzany przed każdą iteracją. Jeśli jest prawdziwy — wykonywane jest ciało pętli. Jeśli fałszywy — pętla się kończy. Na przykład i < 10.
  • Zmiana — operator uruchamiany po każdej iteracji. Zwykle zwiększa lub zmniejsza wartość licznika (i++).

Można to przedstawić na schemacie:

Schemat działania pętli for

3. Porównanie for i while

Być może stanie się to jaśniejsze, jeśli powiem, że for to po prostu inny zapis pętli while.

Mieliśmy pętlę while:

int i = 0;					// Inicjalizacja zmiennej dla pętli
while(i<10)					// Sprawdzenie warunku kontynuacji pętli
{
    System.out.println(i); 	// Pożyteczna czynność (ciało pętli)
    i++;					// Zwiększenie licznika
}

Możemy zapisać to jako pętlę for, po prostu przenosząc wszystkie działania, które sterowały logiką pętli:

for (int i = 1; i <= 10; i++)  // Inicjalizacja; Sprawdzenie warunku; Zwiększenie licznika
{
    System.out.println(i);		// Pożyteczna czynność (ciało pętli)
}

Kroki działania obu pętli:

  1. Inicjalizacja int i = 0; wykonywana jest 1 raz przed pętlą.
  2. Następnie wykonywane jest sprawdzenie warunku i <= 10
  3. Potem pożyteczna czynność pętli System.out.println(i);
  4. Później zwiększenie licznika i++
  5. Następnie przejście do kroku 2.

4. Przykłady użycia pętli for

Najprostszy przykład

Wypiszmy liczby od 1 do 5:

for (int i = 1; i <= 5; i++)
{
    System.out.println(i);
}

Wynik:

1
2
3
4
5

Uwaga: gdybyś napisał i < 5, ostatnią wypisaną liczbą byłaby 4.

Odliczanie wsteczne

Chcesz poczuć się jak kosmonauta? Zróbmy odliczanie wsteczne!

for (int i = 5; i > 0; i--)
{
    System.out.println(i);
}
System.out.println("Start!");

Wynik:

5
4
3
2
1
Start!

Krok pętli różny od 1

Licznik można zmieniać nie tylko o 1, lecz o dowolną inną wartość:

for (int i = 0; i <= 10; i += 2)
{
    System.out.println(i);
}
// Wypisze: 0 2 4 6 8 10

5. Wariacje pętli for

Wiele zmiennych w pętli

Czasem wygodnie jest śledzić dwie zmienne naraz. Na przykład wypiszmy liczby od lewej do prawej i od prawej do lewej:

for (int left = 1, right = 10; left <= 10; left++, right--)
{
    System.out.println(left + "  " + right);
}

Wynik:

1  10
2  9
3  8
...
10  1

Nieskończona pętla for

Jeśli przypadek jest bardzo ciężki (np. Twój projekt to perpetuum mobile w IT), można zrobić „nieskończoną” pętlę for:

for (;;) // ani inicjalizacji, ani warunku, ani zmiany
{
    System.out.println("Pracować, pracować i jeszcze raz pracować!");
}
Nieskończona pętla for

Uwaga: taka pętla zakończy się tylko wtedy, gdy w ciele znajduje się break, return lub throw. Nie używaj jej bez powodu, bo możesz obudzić pradawnego demona — „Proces nie odpowiada”.

1
Zadanie
JAVA 25 SELF, poziom 4, lekcja 2
Niedostępne
Odliczanie do Nowego Roku 🎉
Odliczanie do Nowego Roku 🎉
1
Zadanie
JAVA 25 SELF, poziom 4, lekcja 2
Niedostępne
Numery miejsc w wagonie 🚂
Numery miejsc w wagonie 🚂
1
Zadanie
JAVA 25 SELF, poziom 4, lekcja 2
Niedostępne
Obliczanie całkowitego kosztu zakupów 🛍️
Obliczanie całkowitego kosztu zakupów 🛍️
1
Zadanie
JAVA 25 SELF, poziom 4, lekcja 2
Niedostępne
Współrzędne poruszających się obiektów 🕹️
Współrzędne poruszających się obiektów 🕹️
Komentarze
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION