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互換。
延伸閱讀: