运算符
目前支持的运算符
优先级 | 关键字 | 使用示例 | 说明 |
---|---|---|---|
1 | () | (1 + 1) | (expr) |
2 | - | -12 | -number_expr 负数 |
2 | ! | !true | !bool_expr 逻辑非 |
2 | ~ | ~12 | ~integer_expr 按位取反 |
3 | / | 1 / 2 | 除 |
3 | * | 1 * 2 | 乘 |
3 | % | 5 % 2 | 余数 |
4 | + | 1 + 1 | 加 |
4 | - | 1 - 1 | 减 |
5 | << | 100 << 2 | 按位左移 |
5 | >> | 100 >> 2 | 按位右移 |
6 | > | 1 > 2 | 大于 |
6 | >= | 1 >= 2 | 大于等于 |
6 | < | 1 < 2 | 小于 |
6 | <= | 1 <= 2 | 小于等于 |
7 | == | 1 == 2 | 等于 |
7 | != | 1 != 2 | 不等于 |
8 | & | 1 & 2 | 按位与 |
9 | ^ | 1 ^ 2 | 按位异或 |
10 | | | 1 | 2 | 按位或 |
11 | && | true && true | 逻辑与 |
12 | || | true || true | 逻辑或 |
13 | = | a = 1 | 赋值运算符 |
13 | %= | a %= 1 | 相当于 a = a % 1 |
13 | *= | a *= 1 | a = a * 1 |
13 | /= | a /= 1 | a = a / 1 |
13 | += | a += 1 | a = a + 1 |
13 | -= | a -= 1 | a = a - 1 |
13 | |= | a |= 1 | a = a | 1 |
13 | &= | a &= 1 | a = a & 1 |
13 | ^= | a ^= 1 | a = a ^ 1 |
13 | <<= | a <<= 1 | a = a << 1 |
13 | >>= | a >>= 1 | a = a >> 1 |
提示
由于 int 数据类型过多,为了能够统一表示,所以后续文档使用 integer 表示整形,float 表示浮点形,number 则包含着两种类型。
需要注意点细节有
运算符按优先级结合,相同优先级时则按照从左往右运算。
二元运算符(有两个操作数的运算符) 目前支持 number 和 string 类型进行二元运算,其中 string 仅支持
+
和比较运算符号位运算仅支持 integer 类型。