package p05_petle.teoria;

public class PierwszePetle {

    public static void main(String[] args) {
        System.out.println("Początek programu");
        
        System.out.println("Pętla while:");
        int a = 1;
        while(a < 5) {
            System.out.println("a = " + a);
            a++;
        }
        System.out.println("Koniec pętli while. Teraz a = " + a);
        System.out.println("----------------\n");
        
        System.out.println("Pętla do-while:");
        int b = 1;
        do {
            System.out.println("b = " + b);
            b++;
        } while(b < 5);
        System.out.println("Koniec pętli do-while. Teraz b = " + b);
        System.out.println("----------------\n");
        
        System.out.println("Pętla for:");
        for(int i = 1; i < 5; i++) {
            System.out.println("i = " + i);
        }
        System.out.println("Koniec pętli for.");
        //NK System.out.println("Teraz i = " + i);
        // Najczęściej zmienną sterującą pętli for deklaruje się wewnątrz pętli,
        // wtedy nie ma do niej już dostępu po zakończeniu - ALE TO JEST DOBRA PRAKTYKA.
        System.out.println("----------------\n");
        
        // Gdyby nam zależało, aby końcową wartość zminnej odczytać po zakończeniu pętli for, podobnie jak robiliśmy w while,
        // to można zadeklarować zmienną jeszcze przed pętlą.
        int c;
        System.out.println("Pętla for 2:");
        for(c = 1; c < 5; c++) {
            System.out.println("c = " + c);
        }
        System.out.println("Koniec pętli for. Teraz c = " + c);
        System.out.println("----------------\n");
        
        System.out.println("Pętla for-each:");
        // Przeglądanie elementów tablicy lub kolekcji (do przeglądania obiektów iterowalnych / Iterable)
        String[] tablica = {"Java", "Python", "JS", "C++"};
        for(String element : tablica) {
            System.out.println(" * " + element);
        }
        System.out.println("Koniec pętli for-each.");
        System.out.println("----------------");
        System.out.println("Koniec programu");
    }
}
