優先級
優先級 | 運算符 | 結合性 |
---|---|---|
1 | () | 從左到右 |
2 | ! + - ++ – | 從右到左(單目的+和-) |
3 | * / % | 從左到右 |
4 | + - | 從左到右 |
5 | < <= > >= | 從左到右 |
6 | == != | 從左到右 |
7 | && | 從左到右 |
8 | 邏輯或 | 從左到右 |
9 | = += -= *= /= %= | 從右到左 |
判斷優先級的一些原則:
- 單目運算符 > 雙目運算符;
- 算術運算符 > 關係運算符 > 賦值運算符;
- 邏輯運算符優先級:!> &&> ||;
- 算術運算符優先級:乘除大於加減;
- 關係運算符優先級:判斷是否相等的==和!=的優先級比其他的要低。
補充:
- a++的值是a+1之前的那個值,而++a是a加了1以後的值,但是這兩個最後a的值都加了1;
- 邏輯運算中存在短路:邏輯運算是從左向右進行的,如果左邊的結果已經能夠決定結果了,就不會做右邊的計算。如1= =2 && b+=1和1==1 || b+=1中,b的值並不會發生變化。