语言参考 - 运算符

AutoIt 支持以下赋值符号, 数学运算符, 比较和逻辑运算符.

 

运算符 描述

      赋 值 操 作
=
给变量赋值. 例如 $var = 5     (分配数值 5 到变量 $var)
+=
自加赋值. 例如 $var += 1     (添加 1 到变量 $var)
-=
自减赋值.
*=
自乘赋值.
/=
自除赋值.
&=
连接赋值. 例如 $var = "one", 然后 $var &= 10    (变量 $var 现在等于 "one10")

      数学运算符
+ 两个数相加.如:10 + 20    (结果等于 30)
- 两个数相减.如:20 - 10    (结果等于 10)
* 两个数相乘.如:20 * 10    (结果等于 200)
/ 两个数相除.如:20 / 10    (结果等于 2)
& 连接两个字符串.如: "one" & 10    (结果等于"one10")
^ 幂运算. 如:2 ^ 4    (结果等于 16)

      比较运算符 (用于字符串时不区分大小写, 但 == 除外)
= 判断两个值是否相等. 例如 If $var= 5 Then    ( 如果 $var 等于 5, 则条件成立).
==

判断两个字符串是否相等. 区分大小写. 如果左,右值不是字符串,则必须转换为字符串.

这个操作符仅用于字符串比较, 并且是区分大小写的.

<>

判断两个值是否不相等. 比较字符串时不区分大小写.

要比较两个字符串, 且区分大小写, 则使用 ("字符串1" == "字符串2")

>

判断第一个值(左边)是否大于第二个值(右边).

字符串按字典顺序(lexicographically)进行比较, 即使字符串的内容是数字也如此.

>=

判断第一个值(左边)是否大于或等于第二个值(右边).

字符串按字典顺序(lexicographically)进行比较, 即使字符串的内容是数字也如此.

<

判断第一个值(左边)是否小于第二个值(右边).

字符串按字典顺序(lexicographically)进行比较, 即使字符串的内容是数字也如此.

<=

判断第一个值(左边)是否小于或等于第二个值(右边).

字符串按字典顺序(lexicographically)进行比较, 即使字符串的内容是数字也如此.


      逻辑运算符
AND

逻辑与运算.如: If $var = 5 AND $var2 > 6 Then

(如果变量 $var 的值为 5 而且 变量 $var2 的值大于 6 则条件成立)

OR

逻辑或运算.如: If $var = 5 OR $var2 > 6 Then

(如果变量 $var 的值为 5 或者 变量 $var2 的值大于 6 则条件成立)

NOT 逻辑非运算.如: NOT 1    (不是 1, 则条件不成立 False)

 

当表达式内含有多个运算符时,其运算的先后顺序由 运算符的优先级别 控制. AutoIt 中运算符的优先级如下所示. 处于同一优先级的两种运算符,则按从左到右的顺序运算

从最高到最低的优先级:

    NOT
    ^
    * /
    + -
    &
    < > <= >= = <> ==
    AND OR

 

例如 2 + 4 * 10 结果为 42, 运算顺序如下:

    4 * 10    (等于 40)

    2 + 40    (等于 42)

乘号 * 拥有比加号 + 更高的优先级. 

 

可以使用括号强行首先计算表达式的一部分

例如: (2 + 4) * 10 等于 60.


当使用逻辑运算符 AND, OR 时,请注意以下几点:

例如: If  MyFunc1() OR MyFunc2() Then     ( 如果 MyFunc1() 返回 true, 则不调用 MyFunc2() ).

例如: If  MyFunc1() AND MyFunc2() Then   ( 如果 MyFunc1() 返回 false, 则不调用 MyFunc2() ).

provider with jb51.net (unicode)