package p03_zmienne_i_typy;

public class A_Zmienne {
    // zmienne z poziomu klasy - tzw. "pola"
    // statyczna - jeden egzemplarz dla klasy
    static int statyczna;
    // "instancyjna" - oddzilenie dla każdego obiektu
    int instancyjna;

    public static void main(String[] args) {
        // W Javie zmienne muszą zadeklarowane
//        System.out.println(x);
//        x = 100;
//        System.out.println(x);

        // Sama deklaracja zmienej:
        int x;
        // Java nie inicjalizuje automatycznie zmiennych lokalnych.
        // Niezainicjowanych zmiennych nie wolno czytać (błąd kompilacji)
        // System.out.println(x);
        x = 150;
        System.out.println("x = " + x);

        // zmienne z poziomu klasy SĄ automatycznie inicjowane na 0, null lub false
        System.out.println("statyczna = " + statyczna);

        int y;
        if(x > 100) {
            y = 500;
            System.out.println("y = " + y);
        }
        // tutaj kompilator "nie ma pewności", że y jest zainicjowany
        // System.out.println("y = " + y);

        if(x > 100) {
            y = 500;
        } else {
            y = 600;
        }
        System.out.println("y = " + y);
    }
}
