长短路的与和或,位运算
短路与(&&) 和 长路与(&)
- 短路与: 若左边的已经为假了,右边则不会运算
- 长路与: 不管左边是否为假,右边的运算都会执行
短路或(||) 和 长路或(|)
- 短路或: 若左边的已经为真了,右边则不会运算
- 长路或: 不管左边是否为真,右边的运算都会执行
int a = 3;
boolean b = a>4 && (++a)>3;
System.out.println(a);   // 3
boolean c = a>4 & (++a)>3;
System.out.println(a);  // 4
boolean d = a>3 || (++a)>3;
System.out.println(a);//4
boolean e = a>3 | (++a)>3;
System.out.println(a);//5
位运算
/* A = 0101 0011
   B = 0111 0110
 A&B = 0101 0010
 A|B = 0111 0111
 A^B = 1101 1010
 ~B  = 1000 1001
 
 <<   *2
 >>   /2
 位运算效率极高
 2*8的最高效率计算方式 2*2*2*2 即 2<<3
    我成功因为我志在成功
 
                    
                     
                    
                 
                    
                 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号