运算符优先级

Java/C++/C/PHP/Python运算符优先级对照表

Java 运算符优先级

优先级从高到低排列

优先级运算符描述
1postfixexpr++ expr--
2unary++expr --expr +expr -expr ~ !
3multiplicative* / %
4additive+ -
5shift<< >> >>>
6relational< > <= >= instanceof
7equality== !=
8bitwise AND&
9bitwise exclusive OR^
10bitwise inclusive OR|
11logical AND&&
12logical OR||
13ternary? :
14assignment= += -= *= /= %= &= ^= |= <<= >>= >>>=

运算符(Operator)是编程语言中用于执行特定操作的符号或关键字。它们是构成表达式的基本元素,用于对变量、常量或其他值进行计算和处理。

为什么需要运算符?

  • 数据处理:运算符是处理数据的基本工具,如算术运算符用于数学计算
  • 逻辑判断:比较运算符和逻辑运算符用于程序的条件判断和流程控制
  • 数据操作:位运算符直接操作二进制数据,用于底层数据处理
  • 赋值操作:赋值运算符用于存储和更新数据
  • 代码简洁:运算符使代码更简洁、易读,比函数调用更直观

运算符的分类:

  • 算术运算符:+、-、*、/、% 等,用于数学计算
  • 比较运算符:==、!=、<、>、<=、>= 等,用于比较两个值
  • 逻辑运算符:&&、||、! 等,用于逻辑判断
  • 位运算符:&、|、^、~、<<、>> 等,用于二进制位操作
  • 赋值运算符:=、+=、-=、*=、/= 等,用于赋值
  • 其他运算符:三元运算符 ?:、成员运算符 .、下标运算符 [] 等

运算符优先级决定了表达式中运算的执行顺序。优先级高的运算符会先被执行。当多个相同优先级的运算符出现在同一表达式中时,结合方向(左到右或右到左)决定了执行顺序。

使用建议:

  • 当不确定优先级时,使用括号明确运算顺序
  • 复杂的表达式建议拆分为多行,提高可读性
  • 不同语言的优先级可能有细微差别,切换语言时注意查阅文档