运算符“||”与“|”,“”和“”的区别 (附带各类位运算符号详解(、|、^、~、<<、>>、>>>)
區(qū)別一:
定義不同:
|| 和 | 都是表示“或”,區(qū)別是||只要滿足第一個條件,后面的條件就不再判斷,而|要對所有的條件進行判斷。
區(qū)別二:
與操作和或操作的區(qū)別
(1)在Java程序中,使用與操作,要求所有表達式的判斷結果都是TRUE,才為真,若有一個為FALSE,那么最終判斷結果則為FALSE
(2)使用或操作,只要其中有一個表達式為TRUE,那么最終的結果就為TRUE,只有當所有的表達式為FALSE時最終結果才為FALSE
區(qū)別三:
實際含義不同:
“||”: 如果左邊計算后的操作數(shù)為true,右邊則不再執(zhí)行,返回true;
“|”:前后兩個操作數(shù)都會進行計算。也就是說:“|”不存在短路。
區(qū)別四:
舉例說明
1、當使用 | 時,若前面的表達式為真時,程序會繼續(xù)執(zhí)行后面的表達式,然后在得出TRUE的結果,代碼如下:
public class Test{public static void main(String[] args){int i = 0;if(10==10 | (i++)!=0){System.out.printIn("結果為真 "+i);}} }結果如下:結果為真 1
2、當使用 ||(短路或)時,若前面的表達式結果為真,則程序不會再執(zhí)行后面的表達式,直接得出TRUE的結果,代碼如下:
public class Test{public static void main(String[] args){int i = 0;if(10==10 || (i++)!=0){System.out.printIn("結果為真 "+i);}} }結果如下:結果為假 0
同理
&&是邏輯與(短路與),當?shù)谝粋€判斷條件不滿足要求時(返回false),第二個判斷條件就不會執(zhí)行;只有當兩個判斷條件都返回true時,整個邏輯運算才返回true。
&按位與,不論什么情況下,兩邊的判斷條件都會執(zhí)行,當兩邊都返回true時,按位與才返回true。
位運算符號詳解
來源:Java中的位運算符號詳解(&、|、^、~、<<、>>、>>>)
按位與(&)、邏輯與(&&)
按位或(|)、邏輯或(||)
異或(^)
取反(~)
左移(<<)
帶符號右移(>>)、無符號右移(>>>)
Java中沒有(<<<)符號!!!
總結
以上是生活随笔為你收集整理的运算符“||”与“|”,“”和“”的区别 (附带各类位运算符号详解(、|、^、~、<<、>>、>>>)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MySQL中表的字段信息查询--info
- 下一篇: 实现一个通讯录;