
14 Expressions
14.2 Operators
14.2.1 Operator precedence and associativity
Paragraph 11 When an expression contains multiple operators, the precedence of the operators controls the order in which the individual operators are evaluated. [Note: For example, the expression x + y * z is evaluated as x + (y * z) because the * operator has higher precedence than the binary + operator. end note] 2 The precedence of an operator is established by the definition of its associated grammar production. [Note: For example, an additive-expression consists of a sequence of multiplicative-expressions separated by + or -operators, thus giving the + and -operators lower precedence than the *, /, and % operators. end note]
Paragraph 21 The following table summarizes all operators in order of precedence from highest to lowest:
| Section | Category | Operators |
|---|---|---|
| 14.5 | Primary | x.y f(x) [x] x++ x-- newtypeof checked unchecked |
| 14.6 | Unary | + - ! ~ ++x --x (T)x |
| 14.7 | Multiplicative | * / % |
| 14.7 | Additive | + - |
| 14.8 | Shift | << >> |
| 14.9 | Relational andtype-testing | < > <= >= is as |
| 14.9 | Equality | == != |
| 14.10 | Logical AND | & |
| 14.10 | Logical XOR | ^ |
| 14.10 | Logical OR | | |
| 14.11 | Conditional AND | && |
| 14.11 | Conditional OR | || |
| 14.12 | Conditional | ?: |
| 14.13 | Assignment | = *= /= %= +-= -= <<= >>= &= ^= |= |
| |
| Jagger Software Ltd | |
| Company # 4070126 | |
| VAT # 762 5213 42 |