天天看点

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​

​变小​