Java运算符

二元运算符

二元运算符有+、-、*、/、%等

// 二元运算符 + - * / %
        long a = 123123123132123L;
        int b = 123;
        short c = 10;
        byte d = 8;

        System.out.println(a+b+c+d);  //long
        System.out.println(b+c+d);  // int
        System.out.println(c+d);  // short
        System.out.println((double) c+d);  // double

需要注意的是不同类型的数据相加后,结果的数据类型是什么

逻辑运算符

与&& 或|| 非!

        // 逻辑运算符 与and 或or 非
        boolean a = true;
        boolean b = false;
        System.out.println("a && b:" + (a && b)); //a && b:false
        System.out.println("a || b:" + (a || b)); //a || b:true
        System.out.println("!(a && b):" + !(a && b));  //!(a && b):true

需要注意的是短路运算

        // 短路运算
        int c = 5;
        boolean d = (c < 4) && (c++ < 4);
        System.out.println(d);  // false
        System.out.println(c);  // 5 c<4时false,与运算短路,c++<4未执行

与运算时,需要两者皆为true结果才为true,因此当第一个判断为false时,便不需要进行借来下的判断,这就是短路运算
本例中,c=5>4,所以第一个判断的结果值为false,此时便不需要进行第二个判断,因此c++的自增操作并没有执行,c的结果还是5

位运算

位运算是对每个位进行逻辑运算,有与&,或|,非~,亦或^

        /*
            位运算:
            A = 0011 1100
            B = 0000 1101
            A&B 0000 1100
            A|B 0011 1101
            A^B 0011 0001 亦或 相同为0不同为1
            ~B  1111 0010

            2*8 = 16
            效率极高!!
            << 左移  *2
            >> 右移  /2
            0000 0000    0
            0000 0001    1
            0000 0010    2
         */

重点:如何以最快的速度进行2的倍数的乘法?位的左右移
效率极高
当进行左移时,相当于乘以2
当进行右移时,相当于除以2

字符串运算
        int e = 10;
        int f = 20;
        System.out.println("" + e + f);  //1020
        System.out.println(e + f + "");  //30

注意:
“”+e+f是直接进行的字符串的拼接操作
e+f+"“是先对e和f进行求和后转换为字符串与”"拼接的结果

三元运算符
        //如果x==true 则结果为y 否则为z
        int score = 80;
        String type = score < 60 ? "不及格" : "及格";
        System.out.println(type);

三元运算符可以代替简单的if-else操作

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值