Java學習之邏輯運算符(&&、||和!)

邏輯運算符

邏輯運算符把各個運算的關係表達式連接起來組成一個複雜的邏輯表達式,以判斷程序中的表達式是否成立,判斷的結果是 true 或 false。

邏輯運算符是對布爾型變量進行運算,其結果也是布爾型。

運算符 用法 含義 說明 實例 結果
&& a&&b 短路與 ab 全爲 true 時,計算結果爲 true,否則爲 false。 2>1&&3<4 true
|| a||b 短路或 ab 全爲 false 時,計算結果爲 false,否則爲 true。 2<1||3>4 false
! !a 邏輯非 a 爲 true 時,值爲 false,a 爲 false 時,值爲 true !(2>4) true
| a|b 邏輯或 ab 全爲 false 時,計算結果爲 false,否則爲 true 1>2|3>5 false
& a&b 邏輯與 ab 全爲 true 時,計算結果爲 true,否則爲 false 1<2&3<5 true

&& 與 & 區別:如果 a 爲 false,則不計算 b(因爲不論 b 爲何值,結果都爲 false
|| 與 | 區別:如果 a 爲 true,則不計算 b(因爲不論 b 爲何值,結果都爲 true

注意:短路與(&&)和短路或(||)能夠採用最優化的計算方式,從而提高效率。在實際編程時,應該優先考慮使用短路與和短路或。

結果爲 boolean 型的變量或表達式可以通過邏輯運算符結合成爲邏輯表達式。

邏輯運算符 &&、|| 和 !進行邏輯運算如下所示:

a b a&&b a||b !a
true true true true false
false true false true true
true false false true false
false false false false true

邏輯運算符的優先級爲:!運算級別最高,&& 運算高於 || 運算。

!運算符的優先級高於算術運算符,而 && 和 || 運算則低於關係運算符。

結合方向是:邏輯非(單目運算符)具有右結合性,邏輯與和邏輯或(雙目運算符)具有左結合性。

示例如下:

x>0 && x<=100    // 第一行語句
y%4==0 || y%3==0    // 第二行語句
!(x>y)    // 第三行語句

第一行語句用於判斷 x 的值是否大於 0 且小於或等於 100,只有兩個條件同時成立結果才爲真(true)。

第二行語句用於判斷 y 的值是否能被 4 或者 3 整除,只要有一個條件成立,結果就爲真(true)。

第三行語句先比較 x 和 y,再將比較結果取反,即如果 x 大於 y 成立,則結果爲假(false),否則爲真(true)。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章