Java里的运算符有哪些_Java常见运算符分类说明

Java运算符分为算术、关系、逻辑、赋值、位运算和条件六类:算术支持数值计算与自增减;关系返回布尔值;逻辑具短路特性;赋值含复合形式;位运算操作二进制;三元实现简洁条件分支。

Java里的运算符按功能可分为六大类:算术、关系、逻辑、赋值、位运算和条件(三元)运算符。它们是构成表达式的基础,每类都有明确的使用场景和行为特点。

算术运算符:处理数值计算

用于整数和浮点数的基本数学运算,包括:

  • + - * / %:加、减、乘、除、取余(模)
  • ++ --:自增、自减(分前置和后置,影响参与运算的时机)

注意:/ 对两个整数操作时结果仍是整数(截断小数),如 5/22;要得小数需至少一个操作数为浮点型,如 5.0/2(double)5/2% 只适用于数值类型,结果符号与被除数一致(如 -7 % 3-1)。

关系运算符:比较大小并返回布尔值

用于判断两个值之间的关系,结果恒为 boolean 类型:

  • == != > =

注意:== 比较的是值(对基本类型)或引用(对对象),不要与赋值符 = 混淆;字符串内容比较应使用 .equals(),而非 ==

逻辑运算符:组合布尔条件

主要连接关系表达式,支持短路特性以提升效率:

  • &&(短路与):左操作数为 false 时,右操作数不执行
  • ||(短路或):左操作数为 true 时,右操

    作数不执行
  • !(逻辑非):对单个布尔值取反

补充:&| 也可作逻辑运算符(非短路),但更常用于位运算;^ 是异或,相同为 false,不同为 true

赋值与复合赋值运算符:更新变量值

= 是基础赋值符;复合赋值如 +=-=*=/=%= 等,隐含类型转换:

  • 例如 byte b = 1; b += 2; 合法(编译器自动处理类型收缩)
  • b = b + 2; 会报错(b+2 结果为 int,不能直接赋给 byte

位运算符与三元运算符:面向底层与简洁分支

位运算符& | ^ ~ > >>>)直接操作整数的二进制位,常用于权限控制、加密、高效计算等场景。

三元运算符? :)提供单行条件赋值能力:

  • 格式:条件 ? 表达式1 : 表达式2
  • 要求两个表达式的类型可兼容(如都是 int,或能自动转为同一类型)
  • 例如:int max = a > b ? a : b;

掌握这些运算符的关键在于理解其操作数类型、返回类型、执行顺序(优先级)以及副作用(如自增/自减、短路行为)。实际编码中多结合括号明确意图,避免因优先级引发歧义。