When an expression contains multiple binary operators, the precedence of the operators determines the order in which individual binary operators are evaluated.
Example: The expression x + y * z is evaluated as x + (y * z) because the * operator has higher precedence than the + operator.
The following table lists the binary operators in descending order of precedence.
| Category | Operators |
|---|---|
| Reference (dot) | . |
| Exponentiation | ^ |
| Unary Negation | - |
| Division | / |
| Multiplication | * |
| Additive | +,- |
| Concatenation (string) | & |
| Relational | =,<>,<,>,<=,>= |
| Unary Logical NOT | Not |
| Logical AND, OR | And, Or |
When an expression contains two operators with the same precedence, the associativity of the operators determines the order in which the operations are performed. All binary operators are left-associative (the operations are performed from left to right). Precedence and associativity can be controlled using parentheses.