在Oracle Java Docs它提到& &運算符具有更高的優先於||。運營商。&&運算符真的比||更優先運營商?看看代碼
請看下面的代碼:
class TestLogicalOperators
{
public static void main(String... args)
{
if(doFalse() || doTrue1() && doTrue2())
{
System.out.println(true+" inside if");
}
}
static boolean doTrue1()
{
System.out.println("doTrue1");
return true;
}
static boolean doTrue2()
{
System.out.println("doTrue2");
return true;
}
static boolean doFalse()
{
System.out.println("doFalse");
return false;
}
}
輸出是:
doFalse
doTrue1
doTrue2
真正內如果
現在,如果& &運算符優先於||運算符不應在doFalse()之前先評估doTrue1()和doTrue2()方法嗎?
運算符優先級爲** not **評估順序。這是如何解析表達式 –