沒有人知道爲什麼:邏輯OR運算符VS位或運算符
if (false && true || true) {
System.out.println("True");
} else {
System.out.println("False");
}
打印 「真」
if (false && true | true) {
System.out.println("True");
} else {
System.out.println("False");
}
「假」
科林在這裏得到了一個正確的答案,這個答案像瘋了一樣沮喪。我不想要相同的命運,所以我會將它作爲評論發佈:&和|在一個布爾上下文中不是按位運算符,而是渴望的布爾運算符(沒有短路,雙方都將被評估)。看到這個:http://en.wikipedia.org/wiki/Short-circuit_evaluation#Support_in_common_programming_languages – 2010-09-13 08:31:24
但奇怪的是,我無法找到任何太陽官方文件在哪裏|和&被引用爲邏輯運算符(但它是SCJP6考試的一部分) – 2010-09-13 08:35:49
@seanizer:這裏仍然有一個正確的答案。 (實際上其中兩個):-)無論它們是否按位進行布爾運算都不是真正的重點*這裏*,無論如何,「|」都是更高的優先級,這就是爲什麼OP會看到他/她在問。 – 2010-09-13 08:57:48