关于 逻辑运算符、位运算符和三元运算符 的学习与记录

在这里插入图片描述

()的优先级高,所以先运行括号里面的


逻辑运算符

//逻辑运算符
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));//如果是真,则变为假;如果为假则变真。

        //短路运算:例如:b&&a,b是false,则之后的操作不需要再进行运行,可以直接输出为false
        int c = 5;
        boolean d = (c<4)&&(c++<4);
        System.out.println(d);//false
        System.out.println(c);//5
        //c<4可以直接输出为false,不再运行,否则继续运行c会进行c++操作输出为6
    }
}

位运算符

//位运算
public class Demo06 {
    public static void main(String[] args) {
        /*
        A = 0011 1100
        B = 0000 1101
        --------------------------------------------
        A&B 与 =0000 1100 :相同位都是1则是1,否则为0
        A|B 或 =0011 1101 :有一个是1则是1
        A^B 异或 =0011 0001 :相同为0,不相同则为1
        ~B 非A即B = 1111 0010 :与B取相反

        2*8=16 2*2*2*2
        效率极高!!
        << 左移 等于数字*2
        >> 右移 等于数字/2

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

        从上面可以看出,何为左移
        */
        System.out.println(2<<3);//16
        //2左移3位就是:
        //0000 0010中,1向左移动三位即变为0001 0000,即16
    }
}

+= -= 的操作和注意事项

//   += -= 的操作和注意事项
public class Demo07 {
    public static void main(String[] args) {
        int a = 10;
        int b = 20;

        a+=b;//a = a+b
        a-=b;//a = a-b

        System.out.println(a);//10

        // 字符串连接符 +
        System.out.println(a+b);//30
        System.out.println(""+a+b);//1020
        // +运算符 两侧只要与一方出现String类型(字符串),就会把另一个操作数都转换成String,再进行拼接
        System.out.println(a+b+"");//30
        //如果字符串在后面,前面的依旧会进行运算

    }
}

三元运算符

//三元运算符:有3个操作数
public class Demo08 {
    public static void main(String[] args) {
        // x ? y : z
        //如果x==true,则结果为y,否则结果为z

        int score = 80;
        String type = score <60 ?"不及格":"及格";//score是否小于60,则不合格,否则返回合格。
        //if同理
        System.out.println(type);
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值