說說&和&&的區別


&和&&都可以用作邏輯與的運算符,表示邏輯與(and),當運算符兩邊的表達式的結果都為true 時,
整個運算結果才為true,否則,只要有一方為false,則結果為false。
&&還具有短路的功能,即如果第一個表達式為false,則不再計算第二個表達式,例如,對於if(str != null
&& !str.equals(“”))表達式,當str 為null 時,后面的表達式不會執行,所以不會出現NullPointerException
如果將&&改為&,則會拋出NullPointerException 異常。If(x==33 & ++y>0) y 會增長,If(x==33 && ++y>0)
不會增長
&還可以用作位運算符,當&操作符兩邊的表達式不是boolean 類型時,&表示按位與操作,我們通常
使用0x0f 來與一個整數進行&運算,來獲取該整數的最低4 個bit 位,例如,0x31 & 0x0f 的結果為0x01。
備注:這道題先說兩者的共同點,再說出&&和&的特殊之處,並列舉一些經典的例子來表明自己理解
透徹深入、實際經驗豐富。


免責聲明!

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



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