⑴ 在java中if條件里的與運算符
&是邏輯與,它的執行是,先判斷左邊的,不管是false還是true,都還要判斷右邊的。也就是兩邊的表達式都要判斷。
&&是短路與,如果左邊為false,就不再判斷右邊的。否則,才去判斷右邊的。
一般都用&&比較多。
⑵ java中的短路與(&&)、短路或(||) 與 邏輯與(&)、邏輯或(|)有什麼區別啊
首先名稱是不同的:
&&邏輯與||邏輯或它們都是邏輯運算符
&按位與|按位或它們都是位運算符
if(a==1&&b==2)這是說既要滿足a=1也要滿足b=2
if(a==1||b==2)這是說或者滿足a=1或者要滿足b=2
而a&b或者a|b則是二進制的與或運算
&同為1時為1,否則為0
|同為0時為0,否則為1
3&5則
0011
&0101
0001
等於1
3|5則
0011
|0101
0111
等於7
&&邏輯與也叫做短路與因為只要當前項為假,它就不往後判斷了,直接認為表達式為假
||邏輯或也叫做短路或因為只要當前項為真,它也不往後判斷了,直接認為表達式為真