什么是运算符优先级?
先举个例子, 一个数学的算式
1 + 2 * 3 = 7
其中含有两个运算符号, 分别是加号和乘号,
其运算顺序是先乘后加,
所以结果是7.
同理, 在编程中当一个表达式存在多个运算符号的时候,
就会遵循一个运算符优先级的顺序表来计算出最终的结果, 其表如下:
优先级 | 运算符 | 作用 |
1 | = | 赋值 |
2 | or | 逻辑或 |
3 | and | 逻辑与 |
4 | not | 逻辑非 |
5 | < | 小于 |
<= | 小于等于 | |
> | 大于 | |
>= | 大于等于 | |
6 | == | 等价(于) |
!= | 不等价(于) | |
7 | + | 加法 |
– | 减法 | |
8 | * | 乘法 |
/ | 除法 | |
% | 余法 | |
9 | ( … ) | (括号)分组 |
下面是代码的实践部分
A = 520
B = A + 100
C = A - 200
D = A * 300
E = A / 400
F = A % 500
XYZ = (A + B) * C - D / (E % F)
其中
A 至 F 的值都是一个运算符的计算结果,
而 XYZ 则混合了多个运算符, 其运算顺序如下:
优先计算括号里的算式(内容)
各算式再按乘, 除, 余法优先计算,
然后才是加,减法