JAVA新手教學 (15) – 邏輯運算子與複合條件式

java有5種運算子,分別是數學運算子、關係運算子、位元運算子、邏輯運算子與賦值運算子。這篇文章主要介紹的是邏輯運算子,該運算子之重點在於事物的交集與否,如【AND】、【OR】以及【NOT】。這些邏輯運算子可以用於控制流程、條件語句和迴圈等程式邏輯的處理。它們可以幫助我們進行條件判斷、布林運算,以及控制程式的執行流程。

 

當我們談到Java的邏輯運算子時,我們通常指的是用於結合和操作布林值的運算子。Java中有兩個相當重要的邏輯運算子:

  • AND(&&)
  • OR(||)

 

AND(&&)

條件AND(&&)的真值表如下圖,可以透過下真值表得出一個結論,當使用AND時,只要有一個條件不為真(ture),則輸出結果為假(false)

 

利用程式碼得出的結果如下圖。

 

 

OR(||)

條件OR(||)的真值表如下圖,可以透過下真值表得出一個結論,當使用OR時,只要有一個條件為真(ture),則輸出結果為真(true)

 

利用程式碼得出的結果如下圖。

 

 

實際應用

例子:找出一個整數是大於30 且 為偶數。
如果利用之前學過的if指令,使用方法如下,需要使用雙迴圈來增加條件。

 

下圖為利用AND邏輯運算子後的程式碼。

 

例子:找出一個整數是大於30 或 為偶數。

如果利用之前學過的if指令,使用方法如下,需要使用else if來增加條件。

 

下圖為利用OR邏輯運算子後的程式碼。

 

複合條件的捷徑式判斷

  • && 或 || 運算子的判斷會在真假結果確定時結束,不會判斷完全部的條件。
    例如:  if(性別是否是男生 && 是否為12歲),如果判斷性別不等於男生,此複合條件式會立即結束並且判斷結果為false,判斷式〔是否為12歲〕則不會再做判斷。
  • & 或 | 運算子與上面兩種功能一樣,只是無論條件式1的結果為何,皆會判斷條件式2,也因此沒有捷徑式的特性。

布林邏輯互斥OR

^ 為布林邏輯互斥,如果一條件式為true且另一條件式為false,則結果為true。反之若兩者皆為true或false,則判斷結果為false。真值表如下圖。

 

否定運算子

! 為否定運算子,是一種單元運算子,目的是將true和false互換。

 

延伸閱讀:

 

 

肥柴
肥柴
文章: 30

發表迴響

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料