java基础(一)

今天看源码,突然看到Java中的一个基础知识点,突然不知道他们的区别是什么?再次回顾下基础;

Java运算中“|”与“||”及“&”和“&&”两者的区别

1“|”和“||”用法的区别?

——“||”:  如果左边计算后的操作数为true,右边则不再执行,返回true;

  “|”:前后两个操作数都会进行计算。

  也就是说:“|”不存在短路。

例如:

 int a = 8;
     int b = 11;
        
    if(a > 4 | b++ > 10) {
        System.out.println("a:"+a+"\nb:"+b);
     }    

运行结果:a:8
     b:12

 

     int a = 8;
    int b = 11;
     if(a > 4 || b++ > 10) {
         System.out.println("a:"+a+"\nb:"+b);
     }

运行结果:a:8
     b:11

 注:&与&&区别与此类似。&总会计算前后两个操作数,而&&先计算左边的操作数,如果左边的操作数为false,则返回false,不会计算右边的操作数。

2、下面再细讲讲与、或,非、异或、位运算(移为运算的计算速度快

int a = 4,b = 2;

[java] view plain copy
  1. //1、&=   与运算  二进制中,只有同为1才是1  
  2.         a &= b;  
  3.         System.out.println("a: "+a);  

[java] view plain copy
  1. //2、|=   非运算  二进制中只要一个为1就为1  
  2.         a = 4;  
  3.         b = 2;  
  4.         a |= b;  
  5.         System.out.println("a: "+a);  

[java] view plain copy
  1. //3、^=   异或运算  二进制中只要是两者的值不一样那么就是1  
  2.         a = 4;  
  3.         b = 2;  
  4.         a ^= b;  
  5.         System.out.println("a: "+a);  


[java] view plain copy
  1. //4、<<=  移位运算  相当于是a = a * Math.pow(2,b);  
  2.         a = 4;  
  3.         b = 2;  
  4.         a <<= b;  
  5.         System.out.println("a: "+a);  

[java] view plain copy
  1. //5、>>=   移位运算  相当于是a = a / Math.pow(2,b);  
  2.         a = 4;  
  3.         b = 2;  
  4.         a >>= b;  
  5.         System.out.println("a: "+a);  

[java] view plain copy
  1. //6、~   非运算  二进制所有的位数取反;  
  2.         a = 4;  
  3.         b = 2;  
  4.         a = ~a;  
  5.         b = ~a;  
  6.         System.out.println("a: "+a+" b: "+b);  

[java] view plain copy
  1. //7、>>>=   移位运算  二进制统一向右移 b位,左边不管是什么都用0代替,这是与 >>的区别;  
  2.         a = 4;  
  3.         b = 2;  
  4.         a >>>= b;  
  5.         System.out.println("a: "+a+" b: "+b);  
  6.         System.out.println(8>>>1);  










评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值