Artur 44 wyśw. 27-06-2025 14:04

Praca domowa 1 zad 5

class Main {
    public static void main(String[] args) {
        int a=7;
        int b=5;
        boolean c;
        System.out.println("Czy a>b: "+ (a>b));
        System.out.println("Czy a>=b: "+(a>=b));
        System.out.println("Czy a<b: "+ (a<b));
        System.out.println("Czy a<=b: "+(a<=b));
        System.out.println("Czy a jest rowne b: "+(a==b)); // operator równości to ==, pojedyncze = to operator przypisania!
        System.out.println("Czy a jest rozne od b: "+(a!=b));
        
    }
}

Dlaczego powyższy kod działa? Wychodzi na to, że nie trzeba w ogóle tworzyć zmiennej c?




Programowanie Dodaj post do ulubionych Poproś o pomoc
s.gugula 28-06-2025 09:59

Zgadza się, nie trzeba. Jest tak dlatego, że wartość tych wyrażeń a>b, a<=b itd. i tak jest przez program obliczana i ponieważ jest tam użyty operator relacji to wynikiem takiego działania jest wartość typu boolean (logicznego, czyli true lub false). Więc jak najbardziej zostanie ona prawidłowo wypisana na ekran. A to, że nie jest ona przypisana do konkretnej zmiennej to już inna sprawa :)


Artur 28-06-2025 11:54

Czyli w takim razie program sam się domyśla, że jak chodzi o relacje (mniejszy, większy, równy, itd.) to ma to powiązać z typem boolean?


s.gugula 29-06-2025 14:38

Tak jest :)


Zadzwoń teraz Dotknij, aby się ze mną skontaktować.