逻辑运算符与位运算

逻辑运算符

""里为字符串

  1. 逻辑运算符
  2. 短路运算
public class hello{     
       public static void main(String [] args){
       //与(and)   或(or)   非(取反)
       boolean a=true;
       boolean b=false;
            System.out.println("a && b:"+(a&&b)); 
            /*结果 a&&b为真的结果为 false
            前面a&&b:为字符串,后一句在判断a&&b(a与b)为真?
            逻辑与运算    两个变量为真,结果为输出字符串与a&&b的判断结果为     a&&b: false
            */
            System.out.println("a || b:"+(a||b));  
            /*结果 a||b为真的结果为 true
            前面a||b:为字符串,后一句在判断a||b(a或b)为真?
            逻辑或运算    两个变量有一个为真,结果为输出字符串与a||b的判断结果为   a||b: true
            */
            System.out.println("!(a && b):"+!(a&&b)):
            /*结果 a&&b为真的结果为flase,!(a&&b)的意思是a与b的取反,所以!(a&&b)的结果为true
          前面!(a&&b)为字符串,a与b取反,后一句判断!(a&&b)为真?
            逻辑非运算    如果是真,则变为假,如果是假,则变为真   所以输出结果为 !(a && b): true
            */
            
            //短路运算
            int c=5;
            boolean d=(c<4)&&(c++<4):  //布尔运算,c<4为真,c++=c+1=5,c++<4为真;c<4与c++<4的结果为假
            System.out.println(d);  //输出为false
            System.out.println(c);  //输出结果为 5;前面一句结果为false,后面就不会运算c++了
     }
}

前面一句结果为false,后面就不会运算算术运算了

位运算

一字节等于八位

public class hello{     
       public static void main(String [] args){
       /*
       A = 0011 1100
       B = 0000 1101
       A&B=0000 1100  (A与B)
       A|B=0011 1101  (A或B)
       A^B=0011 0001  (异或运算) 相同则为0,不相同为1
       ~B =1111 0010  (非运算)
       
       2*8=16 2*2*2*2
       <<  左移
       >>  右移
       0000 0000   0
       0000 0001   1 
       0000 0010   2
       0000 0011   3
       
       */
            System.out.println(2<<3); 
            /*结果为16
            解释2的二进制为0000 0010中的数左移三位变为0001 0000就是十进制16
            */
     }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值