Operatori
Precedența operatorilor
Când o expresie conține mai mulți operatori, precedența determină ordinea de evaluare (ca "ordinea operațiilor" din matematică).
| Nivel | Operatori | Asociativitate |
|---|---|---|
| 1 (cel mai înalt) | () [] . -> | stânga → dreapta |
| 2 | ++ -- ! ~ (unari) | dreapta → stânga |
| 3 | * / % | stânga → dreapta |
| 4 | + - | stânga → dreapta |
| 5 | < <= > >= | stânga → dreapta |
| 6 | == != | stânga → dreapta |
| 7 | && | stânga → dreapta |
| 8 | || | stânga → dreapta |
| 9 (cel mai jos) | = += -= ... | dreapta → stânga |
int r1 = 2 + 3 * 4; // 14 (nu 20!) — * înainte de +
int r2 = (2 + 3) * 4; // 20 — parantezele forțează ordinea
bool r3 = 5 > 3 && 2 < 4; // true — > și < înainte de &&Când ai dubii, folosește paranteze. Ele clarifică intenția și previn bug-uri subtile.