跳到主要内容

运算符

介绍

Wave语言提供多种运算符,可以进行变量间的计算、逻辑判断、比较、位运算等。

本文档将按照类别来说明Wave中可以使用的主要运算符,并提供其工作方式和示例。

运算符分为以下类别:

  • 算术运算符
  • 比较运算符
  • 逻辑运算符
  • 位运算符
  • 赋值运算符
  • 其他特殊运算符

算术运算符

算术运算符对数字数据执行基本的数学运算。

运算符说明示例(a = 10b = 3
+加法a + b13
-减法a - b7
*乘法a * b30
/除法a / b3(整数除法)
%取余运算a % b1

比较运算符

比较运算符返回用于比较两个值的结果作为bool值。

运算符说明示例(a = 10b = 3
==等于a == bfalse
!=不等于a != btrue
<小于a < bfalse
>大于a > btrue
<=小于等于a <= 10true
>=大于等于a >= btrue

逻辑运算符

逻辑运算符处理关于bool值的真/假组合。

运算符名称说明例子
&&逻辑与只有两个值都是 true 时才返回 truetrue && falsefalse
\`\逻辑或只要其中一个为 true,结果就是 true\`true \
!逻辑非true 反转为 false,将 false 反转为 true!truefalse

位运算符

位运算符以位为单位操作整数数据。

运算符名称说明例子
&位与只有两个位都为1时结果为1a & b2
\`\位或只要其中一个位为1,结果就是1b7\`
^位异或两个位不同时结果为1a ^ b5
~位非反转位~a-7
<<左移运算将位向左移动a << 112
>>右移运算将位向右移动a >> 13

赋值运算符

用于将值存储在变量中。 在大多数情况下,可以与算术运算符结合进行简化。

运算符说明例子 (a = 5)
=基本分配a = 10
+=加法后分配a += 27
-=减法后分配a -= 14
*=乘法后分配a *= 315
/=除法后分配a /= 51
%=取余后分配a %= 41

其他特殊运算符

Wave还提供了以下具有独特或特殊意义的运算符。

运算符名称说明例子
??null合并运算符左值为null时使用右值a ?? ba为null则b
?:条件运算符(三元运算符)根据条件选择值条件 ? 真值 : 假值
in检查是否包含检查值是否包含在集合中"a" in list
is类型比较运算符检查值的类型x is i32
!&NAND逻辑NAND运算高级逻辑运算
\`!\NOR逻辑NOR运算高级逻辑运算
~^XNOR逻辑XNOR运算高级逻辑运算

总结

Wave提供从数学运算到逻辑判断、位操作、条件分支的各种运算符。 这些运算符与变量交互或构成条件,是复杂计算或控制流程的必要工具。

每个运算符的优先级和结合方向随后可以在“优先级和计算顺序”部分处理。