上一節寫了一些運算符的注意事項,這節開頭依然是對運算符的一些注意點的闡述!
比較運算子除了>、>=、
1.邏輯運算子
&(與)的運算特徵:運算的兩邊只要有一個是false,結果一定是false,只有兩邊都為true,結果才true;
|(或)的運算特徵:運算的兩邊只要有一個是true,結果一定是true,只有兩邊都為false,結果是false;
^(異或)的運算特徵:運算的兩邊結果如果相同,結果是false,兩邊的結果不同,結果是true;
! (非)的運算特徵:判斷事物的另一面;
&&(短路雙與)的運算特徵:與&運算基本一致,只是&&當左邊為false時,右邊不參與運算的,而&兩邊都得運算特徵;
||(短路雙或)的運算特性:與|運算基本上一致,只是||當左邊為true時,右邊不參與運算的,而|兩邊都得運算;
2.位元運算符
&(與位元運算子):運算特徵與邏輯運算子的&一樣,只是這裡針對二進位的位元運算,例如:6&3=2;(二進位原理:110&011=010),任何數與位元為1取&運算都為原來數(作用取某些有效位數);
| (或運算符):運算特徵或邏輯運算符的&一樣,只是這裡針對二進位的位元運算,例如:6|3=7 ;(二進制原理:110|011=111);
^(異或運算符):運算特徵與邏輯運算符的^一樣,只是這裡針對二進制的位運算,例如:6^3^3 = 6,註:當一個數異或運算同一個數兩次,結果還是這個數本身(作用為加密的效果)
~ (反碼運算符):運算特徵與符邏輯運算符中的!一致的。
>> (右移運算子) : 右移幾位其實就是該資料除以2的幾次方。對於高位出現的空位,原來高位是什麼就用什麼補這個空位!
>>>(無符號右移運算子):資料進行右移時,高位出現的空位,無論原高位是什麼,空位都用0補。
練習:
1.//最有效率的方式算出2乘以8等於幾? 答案:System.out.println(2
2.對兩個整數變數的值進行互換 ?
答案:
開發時,使用第三方變數的形式,因為閱讀性強。
int c ;
c = a;
a = b;
b = c;
這種方式不要用,如果兩個整數的數值過大,會超出int範圍,會強制轉換。數據會
變化。
a = a + b; //a = 3 + 5;a = 8;
b = a - b; //3+5-5 = 3;b = 3;
a = a - b; // 3+5-3 = 5;a = 5;
面試的時候用。
a = a ^ b; //a = 3 ^ 5;
b = a ^ b; //b = (3^5)^5; b = 3;
a = a ^ b; //a = ( 3^5)^3; a = 5;
以上就是Java 基礎入門隨筆(3) JavaSE版,隨筆javase的內容,更多相關內容請關注PHP中文網(www.php.cn)!