Java 运算符

表达式

  1. 表达式由运算符和操作数组成
  2. 如:5、num1、num1 + num2

运算符

  1. 算数运算符
    • 算数运算符主要用于进行基本的算数运算,如加法、减法、乘法和除法等。
    • 加法 +
    • 减法 -
    • 乘法 *
    • 除法 / 在除法运算中,如果除数和被除数都是整数,则做整除运算
    • 求余数 %
    • 自增1 ++
    • 自减1 –
  2. 赋值运算符
    • 格式:变量 = 表达式;
    • 注意:赋值运算符是从右往左运算!
    • 赋值运算符的左边不能是常量,必须是常量
    • 复合赋值运算符
      • += 代码示例:x+=5 , x = x + 5
      • -=
      • *=
      • /=
      • %=
  3. 关系运算符
    • 比较运算符用于判断两个数据的大小,如大于
    • 比较的结果是一个 布尔值
    • 大于 >
      • ‘A’ > ‘’B 结果为 false , 比较的是两个字符的 ASCll 值
    • 小于 <
    • 大于等于 >=
    • 小于等于 <=
    • 等于 ==
      • float f = 5.0f; long l =5; f==l; 结果为true,浮点数与整数进行比较,只要值相等就返回true
    • 不等于 !=
    • 作用与功能
      • 数据比较
        • 关系运算符主要用于条件和循环语句中的判断条件
        • 条件结构就是根据不同的条件去执行不同的操作
  4. 逻辑运算符
    • 逻辑运算符是用来连接一个或多个条件,判断这些条件是否成立
    • 逻辑运算符的结果是布尔类型
      • && 或 &
        • && 运算符又叫短路运算符,如果第一个表达式的值就能决定表达式最后的结果,运算符右边的表达式就不再运算了
        • & 不论第一个表达式 true 还是 false,都要执行右边的表达式
      • operator1 && operator2
      • || 或 |
        • || 和 && 运算符一样
        • | 和 & 一样
      • operator1 || operator2
      • !
        • 对原条件进行取反
      • !operator1
    • 注意:逻辑运算符的操作数都是布尔类型的
  5. 条件运算符
    • 三元运算符 ? :
  6. Java 中的条件运算符是三目运算符
    • ++ 单目运算符
    • 双目运算符,需要对两个数进行操作 + - * /
    • 语法:布尔表达式 ? 表达式1 : 表达式2
    • 当布尔表达式的值为 true , 则返回表达式 1 的值,否则 返回表达式 2 的值
  7. 位运算符
    • 按位与(&):逐位进行与操作,只有当对应位都为 1 时,结果位才为 1。
      1
      2
      3
      int a = 5; // 二进制为 0101
      int b = 3; // 二进制为 0011
      int c = a & b; // 结果为 1 (二进制为 0001)
    • 按位或(|):逐位进行或操作,只要有一个对应位为 1,结果位就为 1。
      1
      2
      3
      int a = 5; // 二进制为 0101
      int b = 3; // 二进制为 0011
      int c = a | b; // 结果为 7 (二进制为 0111)
    • 按位异或(^):逐位进行异或操作,当对应位不同时,结果位为 1。
      1
      2
      3
      int a = 5; // 二进制为 0101
      int b = 3; // 二进制为 0011
      int c = a ^ b; // 结果为 6 (二进制为 0110)
    • 按位取反(~):逐位进行取反操作,0 变 1,1 变 0。
      1
      2
      int a = 5; // 二进制为 0101
      int b = ~a; // 结果为 -6 (二进制为 1010)
    • 左移(<<):将二进制位向左移动指定的位数,相当于乘以 2 的指定次方。
      1
      2
      int a = 5; // 二进制为 0101
      int b = a << 1; // 结果为 10 (二进制为 1010)
    • 右移(>>):将二进制位向右移动指定的位数,相当于除以 2 的指定次方。
      1
      2
      int a = 5; // 二进制为 0101
      int b = a >> 1; // 结果为 2 (二进制为 0010)
  8. 运算符优先级
    运算符 描述 权重
    () 圆括号 0
    !,++,– 逻辑非,自增,自减 1
    *,/,% 乘法,除法,取余 2
    +,- 加法,减法 3
    <,<=,>,>= 小于,小于等于,大于,大于等于 4
    ==,!= 等于,不等于 5
    && 逻辑与 6
    || 逻辑或 7
    =,+=,*=,/=,%=,-= 赋值运算符,复合赋值运算符 8