1
嗨聲明我有這樣的例子:多個邏輯表達式,如果在Java中
(1)
if(false && false ||true){
System.out.println("a");
}
結果:
a
和
(2)
if(false && false | true){
System.out.println("a");
}
結果:
(empty)
如果(1)我們有短路OR,但在第二個,我們有長路OR。從哪裏來的行爲差異?我知道表達式是從左到右進行評估的,AND具有比OR更高的優先級,所以我無法弄清楚爲什麼在情況2中發生這種情況?
SO首先將被計算爲false | true - > true,然後false && true-> false? – Xelian 2014-09-28 09:53:04
@Xelian正好。 – assylias 2014-09-28 09:57:08