Pętle w Javie: for, while i do-while w prosty sposób

Zaktualizowano 22 października 2026

Pętla w Javie powtarza blok kodu, dopóki spełniony jest warunek. Dzięki temu policzysz do 1000 bez pisania 1000 linijek albo będziesz wczytywać dane tak długo, aż pojawi się określona wartość.

Pętla for

Pętli for używasz, gdy z góry wiesz, ile razy coś ma się wykonać. W nawiasie są trzy części oddzielone średnikami:

for (int i = 1; i <= 5; i++) { ... }
  1. Start: int i = 1 tworzy licznik.
  2. Warunek: dopóki i <= 5 jest prawdziwe, blok się wykonuje.
  3. Krok: i++ zwiększa i o 1 po każdym przebiegu.

Często zmienna poza pętlą zbiera wynik, na przykład sumę. sum += i to skrót od sum = sum + i.

public class Main {    public static void main(String[] args) {        for (int i = 1; i <= 5; i++) {            System.out.println(i + " squared is " + i * i);        }
        int sum = 0;        for (int i = 1; i <= 100; i++) {            sum += i;        }        System.out.println("1 + 2 + ... + 100 = " + sum);    }}

while i do-while

while sprawdza warunek przed każdym przebiegiem. To pasuje, gdy nie wiesz, ile razy pętla się wykona, tylko kiedy ma się zatrzymać. Jeśli warunek jest fałszywy już na początku, blok nie wykona się ani razu.

do { ... } while (...); sprawdza warunek dopiero po przebiegu. Blok wykona się więc co najmniej raz. Typowy przykład to wczytywanie danych powtarzane tak długo, aż będą poprawne.

import java.util.Scanner;
public class Main {    public static void main(String[] args) {        Scanner scanner = new Scanner(System.in);
        int n = 100;        int steps = 0;        while (n > 1) {            n = n / 2;            steps++;        }        System.out.println("Halved " + steps + " times");
        int number;        do {            System.out.println("Enter a number from 1 to 10:");            number = scanner.nextInt();        } while (number < 1 || number > 10);        System.out.println("Thanks, " + number + " it is.");    }}
Wejście
15
0
7

Wejście zawiera dwie niepoprawne liczby (15 i 0), dlatego program pyta trzy razy.

Pętle zagnieżdżone, break i continue

Pętla może stać wewnątrz innej pętli. Przy każdym przebiegu pętli zewnętrznej wewnętrzna wykonuje się w całości, jak wiersze i kolumny tabeli. W ten sposób przechodzisz też przez tablice dwuwymiarowe w Javie, a proste algorytmy sortowania, takie jak sortowanie bąbelkowe, składają się właśnie z dwóch zagnieżdżonych pętli. print wypisuje bez przejścia do nowej linii, a puste println() kończy linię.

Dwie instrukcje zmieniają przebieg pętli:

  • break natychmiast kończy pętlę.
  • continue pomija resztę bloku i przechodzi do następnego przebiegu.
public class Main {    public static void main(String[] args) {        for (int row = 1; row <= 4; row++) {            for (int col = 1; col <= 4; col++) {                System.out.print(row * col + "\t");            }            System.out.println();        }
        for (int i = 1; i <= 20; i++) {            if (i % 2 == 1) {                continue;            }            if (i > 10) {                break;            }            System.out.print(i + " ");        }        System.out.println();    }}

Typowe błędy

  • Pętla nieskończona

    Jeśli nic w pętli nie zmienia warunku, nigdy się ona nie skończy:

    int i = 0;while (i < 5) {    System.out.println(i);    // brakuje i++}

    W Jario program zostaje wtedy przerwany po upływie limitu czasu.

  • O jeden za dużo albo za mało

    i < 5 przebiega od 0 do 4, i <= 5 od 0 do 5. Sprawdź na najmniejszym przypadku, czy pierwszy i ostatni przebieg się zgadzają.

  • Średnik po for albo while

    for (int i = 0; i < 5; i++); ma puste ciało pętli. Blok za nią wykona się tylko raz. Przy while (...); program może się nawet zawiesić.

  • Licznik tworzony wewnątrz pętli

    Jeśli int sum = 0; stoi wewnątrz pętli, suma przy każdym przebiegu zaczyna się znowu od 0. Wszystko, co liczy przez wszystkie przebiegi, musi stać przed pętlą.

Zadania z tego tematu

Przećwicz to, czego się nauczyłeś, od razu w przeglądarce. Testy natychmiast sprawdzają twoje rozwiązanie.

Powiązane artykuły