運算符&和&&以及|和||區別比較


1.&和&&的區別

1)&和&&都可以用作邏輯與的運算符,表示邏輯與(and),當運算符兩邊的表達式的結果都為true時,整個運算結果才為true,否則只要一方為false,則結果為false。

2)&&運算符還具有短路功能,如果&&左邊的表達式值為false,右邊的表達式會被短路掉,不會參與運算。很多時候我們可能都需要用&&而不是&,例如在驗證用戶登錄時判定用戶名不是null而且不是空字符串,應當寫為:username != null &&!username.equals(“”),二者的順序不能交換,更不能用&運算符,因為第一個條件如果不成立,根本不能進行字符串的equals比較,否則會產生NullPointerException異常。

3)&還可以做位運算,當表達式兩邊不是boolean類型時,&進行位運算。

2.|和||的區別

1)|和||都可以用作邏輯或的運算符,表示邏輯或(or),當運算符兩邊的表達式的結果其中一個為true時,真個運算結果為true。

2)||運算符還具有短路功能,如果||左邊的表達式值為true,右邊的表達式會被短路掉,不會參與或運算。

3)|還可以做位運算,當表達式兩邊不是boolean類型時,|進行位運算。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM