【发布时间】:2013-11-29 09:37:05
【问题描述】:
我对这段代码感到困惑,我认为对于布尔值,你必须返回 'true' 或 'false' 而没有别的,那么为什么这段代码可以工作?
public static boolean diagonal(Location l, Location l1) {
return l.getX() != l1.getX() && l.getY() != l1.getY();
}
【问题讨论】:
-
返回一个布尔值,它检查 l 的 x 值是否不等于 l1 的 x 值,y 值是否相同
-
boolean是一个类型。可以将类型视为 值 的容器。true和false是boolean类型中仅有的两个值。表达式(计算)具有类型,只要该类型不是void,就意味着它们具有值。 (void是没有值的类型。)你的函数说“我将返回一个boolean类型”。如答案中所述,您的表达式由子表达式组成,返回boolean。 (也就是说,它返回一个适合boolean类型的值,true或false。)所以一切都检查出来了。