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?
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?
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 :)