3.7.2 逻辑运算符、位运算符

3.7.2 逻辑运算符、位运算符

package operator;
//逻辑运算符
public class Demo05{
    public static void main(String[] args){
        //与(and)或(or)非(取反)
        boolean a = true;
        boolean b = false;
        System.out.println("a && b:"+(a&&b));//逻辑与运算:两个变量都为真,结果才为true
        System.out.println("a || b:"+(a||b));//逻辑或运算,两个变量有一个为真,则结果为true
        System.out.println("!(a && b):"+!(a && b);//如果是真,则变为假,如果是假则变为真
        
       //短路运算
        int c = 5;
        boolean d = (c<4)&&(c++<4);
        System.out.println(d);
        System.out.println(c);//运行结果c还是5,说明逻辑与运算,当第一个参数是假时,后面的参数就不再运算
    }
}

位运算

package operator;
public class Demo06{
    public static void main(String[] args){
        /*
        A = 0011 1100
        B = 0000 1101
        A&B:位与位相与,两位都是1结果才为1,否则结果就为0,所以结果为:0000 1100
        A|B:如果对应位都是0,结果为0,否则为1。0011 1101
        A^B:异或,如果两个对应位相同结果为0,否则就为1,0011 0001
        ~B:对应位相应取反即可1111 0010
               
        
        2*8如何运算最快?
        我们可以将其拆分为2*2*2*2
        << 左移运算符,相当于把数字乘以2
        >> 右移运算符,相当于把数字除以2
        位运算的效率极高
        那么这道题的答案就是
        System.out.println(2<<3);
        0000 0000	表示0
        0000 0001	表示1
        0000 0010	表示2
        0000 0011	表示3
        */
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值