&和|
既是邏輯運算子也是運算子,而&&和||只是邏輯運算子。
具體的分析如下:
&&符號可以用作邏輯與的運算子,表示邏輯與(and),當運算子兩邊的表示式的結果都為真時,整個運算結果才為真,否則,只要有一方為假,則結果為假的。&&還具有短路的功能,即如果第乙個表示式為假,則不再計算第二個表示式,
||符號可以作邏輯或運算子,表示邏輯或(or),當運算子有一邊為真時,整個運算結果為真!
當&與&&同為邏輯運算子時,它們都用於連線兩個布林型別的表示式,當與和&&的兩端表示式同時為真時,表示式的結果為真,只要有一端為假,那麼表示式結果為假從用法上來看,與和&&並沒有什麼區別,比如我們可以寫兩個表示式:
4> 6&7> 5;
4> 6 && 7> 5;
兩個運算子都可以這麼用,但是不同的是,當在判斷這個表示式的真或假的時候,兩者的判斷次數不同;
當使用&運算子:計算機在判斷表示式的值的時候,先判斷4> 6的值為假,然後再判斷7> 5的結果為真,於是最後的結果是假&真為假;
但是當我們使用&&運算子的時候:計算機先判斷4> 6的值為假,此時表示式的結果一定為假,所以計算機就不再往下判斷了,判定表示式結果為假。
邏輯運算子&與&&的區別是:
&無論左邊結果是什麼,右邊還是繼續運算;
&&當左邊為假,右邊不再進行運算。
但是兩者的結果是一樣的。
當|和||的兩端表示式同時為假時,表示式的結果為假,只要有一端為真,那麼表示式結果為真。
因此,我們可以知道|與||的區別:
| 無論左邊結果是什麼,右邊還是繼續運算;
||當左邊為真,右邊不再進行運算。
但是兩者的結果是一樣的。
所以&&和||的效率比較高。
Java中, 與 , 與 的區別
int aa 4 if aa 5 aa 6 else上述 aa 5為true,aa 5這個表示式會執行,aa 6這個表示式也會被執行。int aa 4 if aa 3 aa 6 else 上述 aa 3為false,aa 5這個表示式會執行,aa 6這個表示式也不會執行。int aa 4 if aa...
Java 中 與 , 與 的區別
與 都是短路功能 表示式一 表示式二 則當表示式一為真,表示式二不執行。表示式一 表示式二 則當表示式一位假,表示式二不執行。對於 無論 左邊是否為false,他都會繼續檢驗右邊的boolean值。對於 只要檢測到左邊boolean值為false時,就會直接判斷結果,不會在檢驗右邊的值 因為 與 有...
與 , 與 , 與 的區別
首先 和 稱為布林運算子,和 稱為條件布林運算子。兩種運算子得到的結果完全相同,但得到結果的方式又乙個重要區別 條件布林運算子效能比較好。他檢查第乙個運算元的值,再根據該運算元的值進行操作,可能根本就不處理第二個運算元。如果 運算子的第乙個運算元是false,就不需要考慮第二個運算元的值了,因為無論...