在C、C++、Java等编程语言中,常用运算符的优先级从高到低如下:
1. `()` - 括号、下标运算符[]
2. `++`、`--`、`+`、`-`、`!`、`~`、`(type)` - 后置自增、后置自减、正、负、逻辑非、位非、类型转换
注意:理解前置和后置单目运算符的本质是,在函数内部完成自增自减运算,但是返回值返回的是变化后(前置)或者变化前(后置)的值
----------------------------------------------------------------------------
3. `*`、`/`、`%` - 乘、除、取余
4. `+`、`-` - 加、减
注意:和第二级的 + -区分开来
5. `<<`、`>>` - 左移、右移
6. `<`、`<=`、`>`、`>=` - 关系运算符
7. `==`、`!=` - 等于、不等于
-----------------------------------------------------------------------------
8. `&` - 位与
9. `^` - 位异或
注意:位异或是不同才为1,否则为0
10. `|` - 位或
-----------------------------------------------------------------------------
11. `&&` - 逻辑与
12. `||` - 逻辑或
13.条件运算符 - ?:
14. `=`、`+=`、`-=`、`*=`、`/=`、`%=`、`<<=`、`>>=`、`&=`、`^=`、`|=` - 赋值运算符
注意+=、-=等类似运算符本质是赋值运算符,所以也是从右往左依次赋值
15. `,` - 逗号运算符
表达式中混合使用这些运算符时,它们将按上述的优先级顺序执行。如果想改变执行的顺序,可以使用括号。