1.java 運算符
主要是邏輯運算符和按位運算符;移位運算符-name
tecmint.txt
邏輯運算符:And(&&) ; OR(||);Not(!)
按位運算符:And(&); OR(|); XOR(^);Not(~)
移位運算符:>> ; << ; >>>
按位運算符:
public
void
test_and(){
int
a =
128
;
// 0000 0000 0000 0000 0000 0000 1000 0000
int
b =
129
;
// 0000 0000 0000 0000 0000 0000 1000 0001
// 結果: 1&1 = 1; 0&1 = 0;0&0 = 0
a = a&b;
// 0000 0000 0000 0000 0000 0000 1000 0000
System.out.println(
"a&b = "
+a);
// 結果: 1|1 = 1; 0|1 = 1;0|0 = 0
b = a|b;
// 0000 0000 0000 0000 0000 0000 1000 0001
System.out.println(
"a|b = "
+b);
// 結果: 1^1 = 0; 0|1 = 1;0|0 = 0
a = a^b;
// 0000 0000 0000 0000 0000 0000 0000 0001
b = a^b;
// 0000 0000 0000 0000 0000 0000 1000 0000
a = b^a;
// 0000 0000 0000 0000 0000 0000 1000 0001
System.out.println(
"a^b 之後: a = "
+a +
" b = "
+b);
//發現這樣異或,數值交換了
int
c =
42
;
// 0010 1010 ~= 1101 0101 => 1010 1011
c = ~c;
// java 採用反碼計數 負數的反碼 = 取反+1(還是負數)
System.out.println(
"~c c = "
+c);
}
移位運算符:
<<左移 低位補
0
變大
<<左移 低位補
0
變大
>>右移 高位補
0
變小
>>右移 高位補
0
變小