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​​ ​​变小​