Java基础09:逻辑运算符、位运算符

运算符

  • 算数运算符:+,-,*,/,%(模),++,–

  • 赋值运算符:=

  • 关系运算符:>,<,>=,<=,==,!=instanceof


  • 逻辑运算符:&&,||,!(取反)

  • ---------------------------(重点掌握上面4个就好了)

  • 位运算符(跟位相关的):&,|,^,~,>>,<<,>>>(了解它们就行了!)

  • --------------------------------(下面两个是偷懒用的)

  • 条件运算符?:

  • 扩展赋值运算符:+=,-=,*=,/=

口诀

&& 与运算,有假为假

|| 或运算,有真为真

! 非运算,假为真、真为假

异或运算,同号为假、异号为真

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));//结果:false  口诀:有假为假
        System.out.println("a || b:"+(a||b));//结果:true   口诀:有真为真
        System.out.println("!(a && b):"+!(a&&b));//结果:true  口诀:真为假,假为真

        //短路运算
        int c = 5;
        boolean d = (c<4)&&(c++<4);
        System.out.println(d);
        System.out.println(c);


    }
}

含义Java
按位与a & b
按位或a |b
按位异或a ^ b
按位取反~a
左移a <<b
带符号右移a >> b
无符号右移a>>> b
package operator;

public class Demo06 {
    public static void main(String[] args) {
        /*
        不要轻易的去使用位运算,很容易出错的
        A = 0011 1100
        B = 0000 1101
        ---------------------------
        A&B = 0000 1100      与 口诀:两个为一,才为一;则反之。
        A|B = 0011 1101      或 口诀:两个为零,才为零;则反之。
        A^B = 0011 0001      异或 口诀:两个相同为零;否则为一。
        ~B = 1111 0010       取反 口诀:完全相反



        位运算有一个好处,效率极高,应用在底层。
        2*8=16   也可以写成2*2*2*2

        <<  左移相当于 *2
        >>  右移相当于 /2

        0000 0000     0
        0000 0001     1
        0000 0010     2
        0000 0011     3
        0000 0100     4
        0000 1000     8
        0001 0000     16

         */
        System.out.println(2<<3);//结果 16
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值