java中&,|,&&,||的區別

(&,|)它們是邏輯操作,(&&,||)它們是條件操作。

&是位運算符,表示按位與運算,&&是邏輯運算符,表示邏輯運算與(and).

|| 按位或運算符 ,表示按位或運算,||是邏輯或算符,表示邏輯或運算。

條件操作只能操作布爾型的,而邏輯操作不僅可以操作布爾型,而且可以操作數值型的。
不同點:
對於A&B,不管a是否爲假,仍然要判斷B。
對於A|B,不管a是否爲真,仍然要判斷B。
而對於A&&B,A||B在以上情況就不會去判斷B了。
幫助別人就是幫助自己,希望大家一塊進步。

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


&&還具有短路的功能,即如果第一個表達式爲false,則不再計算第二個表達式,例如,對於if(str != null && !str.equals(“”))表達式,當str爲null時,後面的表達式不會執行,所以不會出現NullPointerException


||可以作邏輯或運算符,表示邏輯或(or),當運算符有一邊爲true時,整個運算結果爲true!


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章