Java布尔返回类型

时间:2013-11-15 20:58:25

标签: java boolean return

我对这段代码感到困惑,我想要一个布尔值,你必须返回'true'或'false'而不是其他的,那么为什么这段代码有用呢?

public static boolean diagonal(Location l, Location l1) {
    return l.getX() != l1.getX() && l.getY() != l1.getY();
}

提前致谢。

谢谢所有回答的人。我现在明白了:)

4 个答案:

答案 0 :(得分:3)

!=&&运算符评估为boolean结果。它们各自执行测试并根据测试结果评估布尔值truefalse(第一个测试不等式,第二个是逻辑AND)。

有关相等运算符及其评估结果的描述,请参阅JLS 15.21。特别是:

  

等式表达式的类型始终为boolean

有关条件AND运算符及其求值结果的说明,请参阅JLS 15.23。特别是:

  

条件和表达式的类型始终为boolean

也试试这个:

System.out.println(5 != 5);
System.out.println(5 != 6);
System.out.println(true && false);
System.out.println(true && true);

答案 1 :(得分:1)

这将返回boolean。如果l.getX()“不等于”l1.get(X)“且”l.getY()“不等于”l1.get(y),则“返回true”否则“返回false”。

!=&&是二元运算符,每个都返回boolean

答案 2 :(得分:0)

,因为

return l.getX() != l1.getX() && l.getY() != l1.getY();

是一个布尔表达式,return语句将执行结果

如果您表达订单

,则相同
return ((l.getX() != l1.getX()) && (l.getY() != l1.getY()));

true或false取决于评估结果,最后返回一个布尔值,因为只执行布尔运算。

boolean a = l.getX() != l1.getX(); 
boolean b = l.getY() != l1.getY();
boolean c = a && b;

return c; 

答案 3 :(得分:0)

它返回真或假。

l.getX() != l1.getX() && l.getY() != l1.getY();

是一个判断1.get(X)是否不等于l1.getX()AND 1.get(Y)不等于l1.getY()的语句。