BT编程语言文档

运算符

功能

BT语言中的运算符非常丰富,主要包括算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符、条件运算符、逗号运算符等。

下面我将逐一介绍这些运算符及其用法:

优先级建议

复杂表达式中优先使用括号明确顺序,避免读者依赖记忆优先级。

算术运算符

+ 加法运算符

- 减法运算符

* 乘法运算符

/ 除法运算符

% 取模运算符(求余数)

关系运算符

> 大于

< 小于

== 等于

!= 不等于

>= 大于等于

<= 小于等于

逻辑运算符

&& 逻辑与

|| 逻辑或

! 逻辑非

位运算符

& 按位与,对两个数的二进制表示进行逐位比较,如果两个相应的位都为1,则该位的结果为1,否则为0

| 按位或,对两个数的二进制表示进行逐位比较,如果两个相应的位中至少有一个为1,则该位的结果为1,否则为0

^ 按位异或,对两个数的二进制表示进行逐位比较,如果两个相应的位不同,则该位的结果为1,否则为0

~ 按位取反,对一个数的二进制表示进行逐位取反,即0变为1,1变为0

<< 左移,将一个数的各二进制位全部左移若干位,由符号位(最左边的位)的空位则以0来填充

>> 右移,将一个数的各二进制位全部右移若干位,正数左补0,负数左补1,右边丢弃

赋值运算符

= 简单赋值

+= 加后赋值

-= 减后赋值

*= 乘后赋值

/= 除后赋值

%= 取模后赋值

<<= 左移后赋值

>>= 右移后赋值

&= 按位与后赋值

^= 按位异或后赋值

|= 按位或后赋值

自增自减

条件运算符

? : 条件运算符,格式为表达式1 ? 表达式2 : 表达式3。如果表达式1为真,则结果为表达式2的值,否则为表达式3的值。

说到二元运算,BT的魔性依然是性感的,示例:

逗号运算符

, 逗号运算符,用于顺序执行一系列运算,整个逗号表达式的值为最后一个表达式的值。

空值合并与逻辑取值

BT 语言中常用的三个取值运算符有:

  • ??:空值合并
  • ||:逻辑或取值
  • &&:逻辑与取值

它们都可以用来简化代码,让变量默认值、条件执行、对象判断写起来更方便。


1. 空值合并 ??

?? 用于给 nullempty 提供默认值。

它的规则是:

  • 左边不是 null,也不是 empty,返回左边
  • 左边是 nullempty,返回右边

基本示例

意思是:


2. 逻辑或取值 ||

|| 用于从左到右选择一个可用值。

它的规则是:

  • 如果左边是真值,返回左边
  • 如果左边是假值,返回右边

基本示例

意思是:


常见用途

|| 常用于设置更宽泛的默认值。

它和 ?? 的区别是:

只在 input_namenullempty 时使用默认值。

只要 input_name 是假值,就使用默认值。


3. 逻辑与取值 &&

&& 用于在左边成立时,继续执行右边。

它的规则是:

  • 如果左边是真值,返回右边
  • 如果左边是假值,返回左边

基本示例

意思是:


常见用途

判断变量存在后再执行函数:

判断回调函数存在后再调用:


4. 三者区别

??

只处理 nullempty

适合用于明确的空值默认值。


||

左边是假值时,返回右边。

适合用于更宽泛的默认值选择。


&&

左边是真值时,继续返回右边。

适合用于条件执行、对象存在后再访问、回调函数存在后再调用。


5. 记忆口诀

其他运算符

() 括号运算符,用于改变运算顺序或进行函数调用。

[] 下标运算符,用于访问数组元素。

. 成员运算符。

这些运算符是BT语言编程的基础,掌握它们对于编写高效、可读性强的代码至关重要。