Expressions consist of constants, variables, operators, and parentheses. Constants and variables must be of the integer type. The value of an expression is also an integer.
The value of a relational expression (formed using relational operators) is 1,
if it is true, or 0 if false.
The following are operators:
| Precedence | Operators | Category | Note |
|---|---|---|---|
| 1, high | not ~ | bitwise negation | "~" is available in version 4.53 or later |
| ! | logical negation | available in version 4.53 or later | |
| + | plus unary | ||
| - | minus unary | ||
| 2 | * | multiplication | |
| / | division | ||
| % | remainder | the value of expression A % B is the remainder of A / B. | |
| 3 | + | addition | |
| - | subtraction | ||
| 4 | >> << | arithmetic shift | available in version 4.54 or later |
| >>> | logical shift | available in version 4.54 or later | |
| 5 | and & | bitwise conjunction | "&" is available in version 4.53 or later |
| 6 | xor ^ | bitwise exclusive disjunction | "^" is available in version 4.53 or later. |
| 7 | or | | bitwise disjunction | "|" is available in version 4.53 or later. |
| 8 | < > <= >= | relational | |
| 9 | = == <> != | relational | "==" and "!=" are available in version 4.54 or later. |
| 10 | && | logical conjunction | version 4.53 or later. |
| 11, low | || | logical disjunction | version 4.53 or later. |
"and", "or", "xor" and "not" are bitwise operator, not logical operator.
Example:
1 + 1
4 - 2 * 3 The value is -2.
15 % 10 The value is 5.
3 * (A + 2) A is an integer variable.
A and not B
A <= B A and B are integer variables. The value is 1,
if the expression is true, or 0 if false.