2/22JAVA逻辑运算符 && 位运算符(day01)

逻辑运算符

package base;

public class HelloWorld {
    //逻辑运算符
    public static void main(String[] args) {
        //与(and)、或(or)、非(取反)
        boolean a=true;
        boolean b=false;
        //逻辑与运算:一假全假,全真为真
        System.out.println("a && b:"+(a && b));
        //逻辑或运算:一真全真,全假为假
        System.out.println("a || b:"+(a || b));
        //逻辑非运算:取反,真变假,假变真
        System.out.println("!(a && b):"+!(a && b));


        //短路运算
        /*假设第一个条件为假,则不会执行第二个条件,
        因此c++没有被执行,c的值还是5*/
        int c=5;
        boolean d=(c<4)&&(c++<4);//c++运算是先赋值后自增
        System.out.println(d);//d=false
        System.out.println(c);//c=5

    }

}

在这里插入图片描述

位运算符

package base;

public class HelloWorld {
    //位运算符
    public static void main(String[] args) {
    /*
    A=0011 1100
    B=0000 1101
    //A&B :每一位相互比较,全为1,则为1,否则为0
    A&B=0000 1100
    //A|B : 每一位相互比较,全为0,则为0,否则为1
    A|B=0011 1101
    //A^B : 每一位相互比较,相同为0,不同为1
    A^B=0011 0001
    //~B :将B中所有位数全部取反
    ~B=1111 0010

     */
        /*快速实现2*8   2*2*2*2
        位运算:效率极高!
        <<  >>
        << 表示向左移动   *2
        >> 表示向右移动   /2
        0000 0000   表示十进制0
        0000 0001   表示十进制1
        0000 0010   表示十进制2
        //2往左移动3为就是0000 0010-> 0001 0000的过程,因此输出16
        0000 0011   表示十进制3
        0000 0100   表示十进制4
        0000 1000   表示十进制8
        0001 0000   表示十进制16
        0010 0000   表示十进制32
         */
        System.out.println(2<<3);

    }

}

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值