java为什么返回真值?
我最近开始自学Java,在玩了CodingBat之后,我只剩下一个非常基本的问题。为什么这是“真的”
a = 1, b= -1, negative = true
public boolean posNeg(int a, int b, boolean negative) {
if(!negative && a <= 0 && b >= 0 || a >= 0 && b <= 0){
return true;
}else if(negative && a <= 0 && b <= 0){
return true;
}
return false;
}
# 1 楼答案
在:
&&
的优先级高于||
意味着它与:如果conditional-or operator (^{}) 的任何一个操作数为true,则它将返回true:
!negative && a <= 0 && b >= 0
为假,因为negative
为假(与b >= 0
一样,但未对其进行评估)李>a >= 0 && b <= 0
是真的因此表达式是
true
,因此执行if语句,这意味着返回true
# 2 楼答案
在你的第一个if中
if(!negative && a <= 0 && b >= 0 || a >= 0 && b <= 0){
A大于0,b小于0,因此返回true