天天看點

java 程式設計思想-java運算符--曾經不太明确的

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​

​變小​