邏輯運算子

2022-07-27 07:03:09 字數 2064 閱讀 3319

前面我說了三種運算子:算術、賦值、比較運算子。

這裡的邏輯運算子算是乙個比較重要的。

首先我們的邏輯運算子也有六種(莫名其妙又是六種...)

這些邏輯運算子可以用來連線多個表示式

這些表示式無非就是一些比較運算子

分別是:

&:只有兩邊的結果都為true時,最終的結果才是true,否則就是false

**圖: 

結果就是:

我們可以總結一下畫出乙個**:

只不過我們的&比較低階,為什麼這樣說呢?

假如第乙個表示式是false,是不是就可以判斷這個最後的結果是false了

假如第乙個false,&還是會將所有的表示式去執行

我們用**來實驗一下:

結果是:

我們可以看到val1的值變成了31,這就證明了後面的那個表示式也執行了

|:只有兩邊的結果都為false時,最終的結果才是false,否則就是true

**圖: 

執行結果:

我們也可以畫出乙個**來記憶:

只不過我們的|也比較低階,為什麼這樣說呢?

假如第乙個表示式是true,是不是就可以判斷這個最後的結果是true了

假如第乙個true,|還是會將所有的表示式去執行

驗證方法與上面一樣:

執行結果:

這裡val1也變成了22,表示後面那個表示式也執行了

&&:判斷的結果和&一模一樣,

**和&的一樣

&&比較智慧型:

就是&&遇到乙個表示式如果是false的話,後面的表示式就不會去執行

**實測:

執行結果:

這次val1的值還是50,這就充分的說明了後面的表示式沒有執行

||:判斷的結果和|一模一樣,

**和|的一樣

||也比較智慧型:

就是||到乙個表示式如果是true的話,後面的表示式就不會去執行

**實測:

結果:這次val1的值還是30,這就充分的說明了後面的表示式沒有執行

^:這個東西比較特殊,一般不會使用它

如果兩個表示式的結果相同最終的結果就是false

表示式結果不同最終結果就是true

這個邏輯有點難理解。

我們還是看一下**吧:

執行結果:

畫個**來表示一下:

!:這個就很好理解了

就是吧結果取反的意思。

上圖:結果:

最後:&&和||又叫做「短路運算子」,因為他的特性

如:&&遇到乙個false就會短路,後面的不去執行了

我們的這六個邏輯運算子不止可以連線兩個表示式,

還可以連線多個表示式

這裡只是為了簡化連線的兩個表示式

邏輯運算子( , )

操作!是的 運算子不執行布林操作,有只有乙個運算元,位於其權利,和唯一,它確實是逆是它的價值,生產假如果真實,真實的,如果其運算元其運算元為false。基本上,它返回布林值,評價其運算元相反。例如 1 2 3 4 5 5 evaluates to false because the expressi...

邏輯運算子

邏輯運算子 符號 作用 符號 作用 或and 與 或 not 非 或or 或 xor 異或 與 運算 1 或者 and 是 與 運算的兩種表達方式。如果所有資料不為0且不為空值 null 則結果返回1 如果存在任何乙個資料為0,則結果返回0 如果存在乙個資料null且沒有資料為0,結果返回null。...

邏輯運算子

邏輯與 當兩個運算元的值都為true時,運算結果為true 邏輯或 只要兩個運算元中有乙個值為true時,運算結果就為true 邏輯非 對運算元取反,即true值非運算的結果false,false值非運算的結果為true 案例 test1 var a 1,b 0,c hello a b c worl...