JAVA基礎複習三 邏輯運算子 位運算子和條件語句

2021-08-10 04:37:16 字數 1589 閱讀 1729

一、邏輯運算子與或異或非雙與雙或

&邏輯與:有false則false。

|邏輯或:有true則true。

^邏輯異或:相同為false,不同為true。

!邏輯非:非false則true,非true則false。

&&和&的區別?

* a:最終結果一樣。

* b:&&具有短路效果。左邊是false,右邊不執行。

* &是無論左邊是false還是true,右邊都會執行

||和|的區別?

* a:最終結果一樣。

* b:||具有短路效果。左邊是true,右邊不執行。

* |是無論左邊是false還是true,右邊都會執行

二、位運算子

* &,|,^,~ 的用法,針對的是二進位制

* &:有0則0

* |:有1則1

* ^:相同則0,不同則1

* ~:按位取反

舉例:6&3 = 110 &011 = 010 = 2

其中~比較特殊,比如~6 = -7;因為6是int值,32位二進位制,先按位取反,得到結果的補碼,然後-1得反碼,再除了符號位不變取反,得結果的原碼,轉為十進位制即-7。

6的二進位制 00000000 00000000 00000000 00000110

按位取反 11111111 11111111 11111111 11111001

-1 11111111 11111111 11111111 11111000補碼

除符號位取反10000000 00000000 00000000 00000111 = -7

>>,>>>,《的用法:

* <<:左移 左邊最高位丟棄移動位數,右邊補齊0

* >>:右移 最高位是0,左邊補齊0;最高為是1,左邊補齊1

* >>>:無符號右移 無論最高位是0還是1,左邊補齊0

* 整數向左移動幾位,乘以2的幾次冪;向右移動幾位除以2的幾次冪

三元運算子的格式

(關係表示式) ? 表示式1 : 表示式2;前面是乙個判斷,後面兩個是根據判斷的結果。

switch語句小知識點:

* a:case後面只能是常量,不能是變數,而且,多個case後面的值不能出現相同的

* b:default可以省略嗎?

* 可以省略,但是不建議,因為它的作用是對不正確的情況給出提示。

* 特殊情況:

* case就可以把值固定。

* a,b,c,d

* c:break可以省略嗎?

* 最後乙個可以省略,其他最好不要省略

* 會出現乙個現象:case穿透。

* 最終我們建議不要省略

* d:default一定要在最後嗎?

* 不是,可以在任意位置。但是建議在最後。

* e:switch語句的結束條件

* a:遇到break就結束了

* b:執行到switch的右大括號就結束了

邏輯運算子複習

與 是具有短路性質,當按優先順序順序計算到當前表示式時,表示式的結果可以確定整個表示式的結果時,便不會繼續向後進行判斷和計算,而直接返回結果。例如 當使用 邏輯運算子時,在兩個運算元都為 true 時,結果才為 true,但是當得到第乙個操作為 false 時,其結果就必定是 false,這時候就不...

java邏輯運算子

什麼是邏輯運算子?就是讓我們的條件多組合在一起,一次組合多個條件,然後再運算最後的邏輯值是否滿 足要求,說白了邏輯運算子就是多個選擇或者多個要求。邏輯運算子有 與 或 非 與 的意思就是同時的意思,必須要求兩邊都為true才為true如 10 12 100 100 問一下那邊 和這邊是不是為真如果都...

Java邏輯運算子

假設布林變數a為真,變數b為假 稱為邏輯與運算子。當且僅當兩個運算元都為真,條件才為真。a b 為假。稱為邏輯或操作符。如果任何兩個運算元任何乙個為真,條件為真。a b 為真 稱為邏輯非運算子。用來反轉運算元的邏輯狀態。如果條件為true,則邏輯非運算子將得到false。a b 為真。當使用與邏輯運...