运算符优先级
Java/C++/C/PHP/Python运算符优先级对照表
☕Java 运算符优先级
优先级从高到低排列
| 优先级 | 运算符 | 描述 |
|---|---|---|
| 1 | postfix | expr++ expr-- |
| 2 | unary | ++expr --expr +expr -expr ~ ! |
| 3 | multiplicative | * / % |
| 4 | additive | + - |
| 5 | shift | << >> >>> |
| 6 | relational | < > <= >= instanceof |
| 7 | equality | == != |
| 8 | bitwise AND | & |
| 9 | bitwise exclusive OR | ^ |
| 10 | bitwise inclusive OR | | |
| 11 | logical AND | && |
| 12 | logical OR | || |
| 13 | ternary | ? : |
| 14 | assignment | = += -= *= /= %= &= ^= |= <<= >>= >>>= |
运算符(Operator)是编程语言中用于执行特定操作的符号或关键字。它们是构成表达式的基本元素,用于对变量、常量或其他值进行计算和处理。
为什么需要运算符?
- 数据处理:运算符是处理数据的基本工具,如算术运算符用于数学计算
- 逻辑判断:比较运算符和逻辑运算符用于程序的条件判断和流程控制
- 数据操作:位运算符直接操作二进制数据,用于底层数据处理
- 赋值操作:赋值运算符用于存储和更新数据
- 代码简洁:运算符使代码更简洁、易读,比函数调用更直观
运算符的分类:
- 算术运算符:+、-、*、/、% 等,用于数学计算
- 比较运算符:==、!=、<、>、<=、>= 等,用于比较两个值
- 逻辑运算符:&&、||、! 等,用于逻辑判断
- 位运算符:&、|、^、~、<<、>> 等,用于二进制位操作
- 赋值运算符:=、+=、-=、*=、/= 等,用于赋值
- 其他运算符:三元运算符 ?:、成员运算符 .、下标运算符 [] 等
运算符优先级决定了表达式中运算的执行顺序。优先级高的运算符会先被执行。当多个相同优先级的运算符出现在同一表达式中时,结合方向(左到右或右到左)决定了执行顺序。
使用建议:
- 当不确定优先级时,使用括号明确运算顺序
- 复杂的表达式建议拆分为多行,提高可读性
- 不同语言的优先级可能有细微差别,切换语言时注意查阅文档