运算符优先级决定了在表达式中运算符的执行顺序。优先级高的运算符会优先执行,通常会影响表达式的计算结果。
下面是一个常见的运算符优先级表(从高到低)。需要注意的是,优先级越高的运算符越先执行,同一优先级的运算符按结合性进行执行(如左结合或右结合):
优先级 | 运算符 | 描述 | 结合性 |
1 | () | 圆括号 | NULL |
2 | ++、--(后置) | 变量++/变量-- | 左结合 |
3 | ++、--(前置)+、-(正负号) | --变量、++变量、正负号 | 右结合 |
4 | *、/、% | 乘法、除法、取余 | 左结合 |
5 | +、- | 加法、减法 | 左结合 |
6 | <<、>> | 左移、右移 | 左结合 |
7 | <、<=、>、>= | 小于、小于等于、大于、大于等于 | 左结合 |
8 | ==、!= | 等于、不等于 | 左结合 |
9 | & | 按位与 | 左结合 |
10 | ^ | 按位异或 | 左结合 |
11 | ` | ` | 按位或 |
12 | && | 逻辑与 | 左结合 |
13 | ` | ` | |
14 | ? : | 三元条件运算符 | 右结合 |
15 | =、+=、-= 等赋值运算符 | 赋值 | 右结合 |
1. 后置自增、自减 ++ --
描述:在变量后使用,先返回值再进行加/减
示例:
int a = 5;
int result = a++; // result为5,a变为6
2. 前置自增、自减 ++ -- 和正负号 + -
描述:在变量前使用,先加/减再返回值
示例:
int a = 5;
int result = ++a; // result为6,a为6
int negative = -a; // negative为-6
3.乘法、除法、取余 * / %
描述:执行乘法、除法和取余运算
示例:
int result1 = 6 * 3; // 18
int result2 = 10 / 3; // 3
int result3 = 10 % 3; // 1
4. 左移、右移 << >>
描述:按位左移或右移
示例:
int result1 = 8 << 1; // 左移一位,相当于乘以2,结果为16
int result2 = 8 >> 1; // 右移一位,相当于除以2,结果为4
5. 按位与 &
描述:按位进行与运算
示例:
int result = 5 & 3; // 结果为1,二进制按位与操作:0101 & 0011 = 0001
6. 按位异或 ^
描述:按位进行异或运算
示例:
int result = 5 ^ 3; // 结果为6,0101 ^ 0011 = 0110
7. 按位或 |
描述:按位进行或运算
示例:
int result = 5 | 3; // 结果为7,0101 | 0011 = 0111
标签:优先级,示例,int,运算符,++,结合,按位
From: https://blog.csdn.net/weixin_73931631/article/details/143241187