今天遇到&&和&的區別這個問題,在這里做個記錄。
&&和&都是用於“與”運算,不同的是&&是邏輯與,&是按位與,所謂邏輯與指的是兩個判斷條件在都為true時結果為true,舉個生活中例子,比如英語成績大於90與數學成績大於90才是好學生一樣,代碼如下:
int mathResult = 92;
int englishResult = 93;
if(mathResult>90 && englishResult>90){
System.out.println("小明是一個好學生");
}
而&指的是按位運算,用於操作整數基本數據類型中的單個比特,也就是二進制位,可以對兩個參數中對應的位執行布爾操作,並產生一個結果。
java剛產生的初衷是嵌入計算機機頂盒內,需要用於直接操作硬件,設置硬件寄存器內的二進制位,所以現在依舊保留了下來,但目前來說不會經常用到,所以作為了解就可以了。
如果兩個輸入為都為1,使用“&”操作符返回1,否則返回0.
java里面的|和||也是這樣的關系