看板 Soft_Job 關於我們 聯絡資訊
※ 引述《erspicu (.)》之銘言: : 有時候亂七八糟的書或是亂七八糟的講師 : 真的害死人... : 話說我有兩個寫Java的同事 : 都有一個很奇怪的觀念 : 這種巧合機率極低 但是卻發生了 : 讓我懷疑他們應該是看到同一本書或是上了同一講師的課誤導 : | vs || 的差異 : 底下是他們認為 : |是指 不管前條件為真或是偽 都會進行後條件的計算 : => true | false -> true : false | true -> false : ||是指 如果前條件為偽 則回傳為偽 跳出 不進行後條件計算 : 如果前條件為真 則進行後條件計算 : => false || true -> false : true || false -> false : true || true -> true : 以上是他們認為 兇手是猛虎出閘 裡面有寫 || 或 && 前面有條件式可以讓這個運算成立,就不會做後面的運算 不過可能有人誤會了~~運算成立的意思 -- http://blog.xuite.net/tbpfs1/1 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.217.145.50
erspicu:依照我身旁就有兩位的機率 誤會的人應該不少 03/28 21:51
qrtt1:布林邏輯就要都比才對啊QQ. 03/28 22:01
LaPass:我也看過猛虎出閘,我怎麼就沒有誤會 = = 03/28 22:18
yauhh:前面我說可以忽略的沒忽略沒關係,結果也是會誤會成另一個... 03/28 22:25
atst2:我怎麼覺得你同事不是把| 和|| 搞錯,而是把|| 和&&搞反了? 03/28 22:38
atst2:話說回來,Java spec.有指明bitwise operator是有交換性的 03/28 22:40
atst2:但倒是沒有明確指出,當|的兩邊都是boolean時,能否套用 03/28 22:42
atst2:short-circuit evaluation... 03/28 22:43
erspicu:看編譯器 實作特性 這就by case了 03/28 22:44
yauhh:不要沒事就講看編譯器實作特性,一個語意沒那麼難定義. 03/28 23:26
yauhh:尤其是邏輯公設,幾乎不會是被扯到語言未定義這個部份. 03/28 23:27
qrtt1:spec 明明就寫了布林邏輯啊>"< bitwise 是整數的事. 03/28 23:32
qrtt1:如同樓上說的,根本沒必要看 compiler 實作 03/28 23:32