跳转到内容

BlitzMax/语言/表达式

来自维基教科书,开放的书籍,开放的世界

运算符

[编辑 | 编辑源代码]

BlitzMax 支持以下运算符。运算符按优先级分组,从最高优先级的运算符开始

运算符 语法
子表达式 ( 表达式 )
新对象 New 类型名称
字面量
标识符
自身对象 Self
超类对象 Super
空值 Null
圆周率 圆周率
True True
False False
最小值 Min ( 表达式1 , 表达式2 )
最大值 Max ( 表达式1 , 表达式2 )
成员 表达式 . 标识符
索引 表达式 [ 索引表达式 ]
调用 表达式 ( 参数 )
取反 - 表达式
正值 + 表达式
按位取反 ~ 表达式
布尔非 Not 表达式
绝对值 Abs 表达式
符号 Sgn 表达式
值字节大小 SizeOf 表达式
变量地址 Varptr 变量
转换类型表达式 类型 表达式
表达式 ^ 表达式
乘法 表达式 * 表达式
除法 表达式 / 表达式
余数 表达式 Mod 表达式
按位左移 表达式 Shl 表达式
按位右移 表达式 Shr 表达式
算术右移 表达式 Sar 表达式
加法 表达式 + 表达式
减法 表达式 - 表达式
按位与 表达式 & 表达式
按位或 表达式 | 表达式
按位异或 表达式 ~ 表达式
等于 表达式 = 表达式
不等于 表达式 <> 表达式
小于 表达式 < 表达式
大于 表达式 > 表达式
小于或等于 表达式 <= 表达式
大于或等于 表达式 >= 表达式
条件与 表达式 And 表达式
条件或 表达式 Or 表达式

此外,还支持以下内置函数

函数 语法
字符代码 Asc ( 表达式 )
字符 Chr ( 表达式 )
值长度 Len ( 表达式 )

Null 返回 0,空字符串,空数组,空对象或指向 0 的指针,具体取决于上下文。

TrueFalse 是分别具有值 1 和 0 的整数常量。

索引运算符可以用于数组或字符串。如果用于数组,则返回指定索引处的元素。如果用于字符串,则返回指定索引处的字符的字符代码。

The Not 运算符'反转'布尔表达式的逻辑。如果表达式计算结果为 true,则 Not 返回 false,反之亦然。

Asc 返回字符串第一个字符的字符值,如果字符串长度为 0,则返回 -1。

Chr 使用指定的字符值构造一个 1 个字符的字符串。

Len 可以用于字符串或数组。当用于字符串时,Len 返回字符串中的字符数。当用于数组时,Len 返回数组中的元素数。对于多维数组,Len 返回元素的总数。

布尔表达式

[编辑 | 编辑源代码]

通常需要将表达式视为“真”或“假”,例如,用于 If 语句。

确定表达式是真还是假的规则如下

表达式类型 真值条件
数值 如果值不等于 0,则为真
对象 如果对象不等于 Null,则为真
字符串 如果长度不等于 0,则为真
数组 如果长度不等于 0,则为真
华夏公益教科书