Java学习笔记(3)

运算符(2)

赋值运算符

运算符 描述
= 将右操作数的值赋给左侧操作数
+= 加和赋值操作符,它把左操作数和右操作数相加赋值给左操作数
-= 减和赋值操作符,它把左操作数和右操作数相减赋值给左操作数
*= 乘和赋值操作符,它把左操作数和右操作数相乘赋值给左操作数
/= 除和赋值操作符,它把左操作数和右操作数相除赋值给左操作数
%= 取模和赋值操作符,它把左操作数和右操作数取模后赋值给左操作数
<<= 左移位赋值运算符
>>= 右移位赋值运算符
&= 按位与赋值运算符
^= 按位异或赋值操作符
|= 按位或赋值操作符

例如

public class Test06 {
    public static void main(String[] args) {
        int a = 7;
        int b = 9;
        int c;
        c = a+b;
        System.out.println("c = a+b =" + c);
        c += a;
        System.out.println("c += a =" + c);
        c -= a;
        System.out.println("c -= a =" + c);
        c *= a;
        System.out.println("c *= a =" + c);
        c /= a;
        System.out.println("c /= a =" + c);
        c %= a;
        System.out.println("c %= a =" + c);
        c <<= a;
        System.out.println("c <<= a =" + c);
        c >>= a;
        System.out.println("c >>= a =" + c);
        c &= a;
        System.out.println("c &= a =" + c);
        c ^= a;
        System.out.println("c ^= a =" + c);
        c |= a;
        System.out.println("c |= a =" + c);
    }
}

运行结果如下

c = a+b =16
c += a =23
c -= a =16
c *= a =112
c /= a =16
c %= a =2
c <<= a =256
c >>= a =2
c &= a =2
c ^= a =5
c |= a =7

解析

  • c = a+b =16a+b的值赋给c
  • c += a =23等价于c = c+a
  • c -= a =16等价于c = c-a
  • c *= a =16等价于c = c*a
  • c /= a =16等价于c = c/a
  • c %= a =16等价于c = c%a
  • c <<= a =16等价于c = c<<a
  • c >>= a =16等价于c = c>>a
  • c &= a =16等价于c = c&a
  • c ^= a =16等价于c = c^a
  • c |= a =16等价于c = c|a

条件运算符

variable x = (expression) ? value if true : value if false

例如

public class Test07 {
    public static void main(String[] args) {
        int score = 70;
        //如果score >= 60成立,则grade为及格,否则为不及格
        String grade = (score >= 60) ? "及格":"不及格";
        System.out.println("grade = " + grade);

        int a = 7;
        int b = 9;
        int c;
        //如果 a>b 成立,则c=11,否则c=22
        c = (a > b) ? 11 : 22;
        System.out.println("Value of c =" + c);
    }
}

运行结果如下

grade = 及格
Value of c =22

运算符优先级

下表中优先级上行优先于下行

运算符说明 Java运算符
分隔符 . [] () {} , ;
单元运算符 ++ -- ~ !
强制类型转换运算符 (type)
乘法、除法、求余 * / %
加法、减法 + -
移位运算符 << >> >>>
关系运算符 < <= > >= instanceof
等价运算符 == !=
换位与 &
换位异或 ^
换位或 |
条件与 &&
条件或 ||
条件运算符 ?:
赋值运算符 = += -= *= /= &= |= ^= %= <<= >>= >>>=
posted @   Reflily  阅读(47)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· 因为Apifox不支持离线,我果断选择了Apipost!
点击右上角即可分享
微信分享提示