2017-09-17 22 views
-4

這兩個條件如何相互區別?括號和其他與& &。Java條件AND或OR

if (!(A.equals(param) || B.equals(param))) 
      System.out.println("True"); 


if (!A.equals(param) && !B.equals(param)) 
      System.out.println("True"); 

感謝

+7

閱讀有關[德摩根定律(HTTPS://! en.wikipedia.org/wiki/De_Morgan%27s_laws)。 – Maroun

+0

是什麼讓你覺得他們不一樣? – Pshemo

+0

那麼我有疑問,所以需要一些確認, – MRK187

回答

1

& &返回true,如果兩個數值都爲真, ||如果其中一個值爲真,則返回true, 但在您的情況下,兩者都執行相同的操作。

2

(!A) && (!B)需要兩個是假的是真的

!(A || B)需要兩個是假的是真的

這樣的代碼2個peices產生的所有輸入

這些規則大致相同的輸出andor已知爲De Morgan's laws

enter image description here

後,Graphicly,這不是在A或B(不包括在任一圓)的面積是相同的,是不是在A和B的圈子組合

(!A) && (!B)面積=不在紅色區域或藍色圓圈

!(A || B) =不在紅色和藍色圓圈組合

1

De Morgan's laws:

面積(!甲&B)相當於!(A || !B)

(A || B)等同於(A & & B)