8 其他运算符和优先级
发布时间:
豆号运算符
当多个变量或表达式排列以逗号分开,执行顺序为自左向右,整个表达式的值取最右侧的值
js
int c=(5,2,1);
c的值为1;
优先级 | 运算符 | 说明 | 结合性 |
1 | :: | 范围解析 | 自左向右 |
2 | ++、--、() 、[] | 后缀自增、后缀自减、括号、数组下标 | 自左向右 |
2 | . 或−> | 成员选择(对象或指针) | 自左向右 |
3 | ++、 --、+、 − | 前缀自增、前缀自减 、正号、负号 | 自右向左 |
3 | ! 、~、& | 逻辑非、按位取反 、取地址 | 自右向左 |
3 | (type) | 强制类型转换运算符 | 自右向左 |
3 | * | 地址访问运算符 | 自右向左 |
4 | .* 、->* | 成员指针运算符 | 自左向右 |
5 | * 、 / 、% | 乘、除、取余运算 | 自左向右 |
6 | + 、- | 加减运算 | 自左向右 |
7 | <<、>> | 位移运算符 | 自左向右 |
8 | < 、 <= 、 > 、 >= | 比较运算符 | 自左向右 |
9 | == 、!= | 等于号或不等于号(判等运算符) | 自左向右 |
10 | & | 按位与 | 自左向右 |
11 | ^ | 按位异或 | 自左向右 |
12 | | | 按位或 | 自左向右 |
13 | && | 逻辑且 | 自左向右 |
14 | || | 逻辑或 | 自左向右 |
15 | ? : | 条件运算符 | 自右向左 |
16 | = 、+= 、-= 、 *= 、 /= 、%= | 赋值运算符 | 自右向左 |
16 | <<= 、>>= | 位移赋值 | 自右向左 |
16 | &= 、^= 、 |= | 按位“与”赋值 、按位“与或” 、按位“异或” | 自右向左 |
17 | , | 逗号运算符 | 自左向右 |