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ă).

NivelOperatoriAsociativitate
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.