Java operator + & <= 未定义参数类型 double, boolean

Java operator + & <= is undefined for the argument type(s) double, boolean

嗨,我正在努力跟随 Task.Can 有人向我解释如何在初学者级别解决这个问题

给定:


    int k = -2, x = 9, y = 4, z = -2;
    double a = 5.5, b = 9.4, c = -5.2;
    boolean xx = false;
    
            
    System.out.println("a < b <= c : " + xx);
    System.out.println("x!=y and z > 0 : " + xx); 
    System.out.println("x > y or 0 < k < 100 : " + xx); 

预期结果

a < b <= c : false 
x!=y and z > 0 : false 
x > y or 0 < k < 100 : true 

无论我尝试什么,a.e。接下来,我得到运算符错误(在 bool & int 或 bool & double 之间)

System.out.println("a < b <= c : " + a < b <= c); 
System.out.println("a < b <= c : " + (a < b <= c));

在 Java 中,您不能链接运算符。一次计算一个运算符,每个运算符都会产生一个布尔值,然后您可以将该值与一个整数进行比较。

a < b <= c 在这里,它首先评估 a < b,即 true,然后它尝试评估 true <= c,它不能作为其不同的数据类型工作。此外,括号对 &&(和)和 ||(或)运算符

很有帮助
int k = -2, x = 9, y = 4, z = -2;
double a = 5.5, b = 9.4, c = -5.2;

System.out.println("a < b <= c : " + ((a < b) && (b <= c)));
System.out.println("x!=y and z > 0 : " + ((x != y) && (z > 0)));
System.out.println("x > y or 0 < k < 100 : " + ((x > y) || (0 < k && k < 100)));

要进一步阅读运算符及其优先级,请阅读 here