语言相关 - 运算符

  1. 云栖社区>
  2. 博客>
  3. 正文

语言相关 - 运算符

古贤 2017-01-03 20:12:20 浏览1298
展开阅读全文


码栈支持以下这些赋值符号,数学运算符,比较和逻辑运算符.

 

运算符 详细信息

      赋值运算
=
赋值,如 $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    (2 的 4次方,等于 16)

      比较运算 (大小写敏感的字符串需要使用 == 来比较)
= 判断两个值是否相等.  比如 If $var= 5 Then    (如果变量 $var 的值为 5 则条件成立). 用于字符串时不区分大小写
== 判断两个字符串是否相等.左方和右方的值将会转化成字符串,并区分大小写,这个运算只能用于区分字符串大小写的比较.
<> 判断两个值是否不相等. 比较会对字符串大小写敏感. 要比较一个大小写敏感的不等于操作使用 Not ("string1" == "string2")
> 判断第一个值(左边)是否大于第二个值(右边).Strings are compared lexicographically even if the contents of the string happen to be numeric.
>= 判断第一个值(左边)是否大于或等于第二个值(右边).Strings are compared lexicographically even if the contents of the string happen to be numeric.
< 判断第一个值(左边)是否小于第二个值(右边). Strings are compared lexicographically even if the contents of the string happen to be numeric.
<= 判断第一个值(左边)是否小于或等于第二个值(右边). Strings are compared lexicographically even if the contents of the string happen to be numeric.

      逻辑运算
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    (结果为False)

 

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

越上面的运算符则优先级越高:

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

 

例如表达式 2 + 4 * 10 的值将是 42,结合顺序如下:

    4 * 10    (结果为40)

    2 + 40    (结果为42)

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

 

您还可以使用括号来使表达式内的某些部分优先被计算.

如 (2 + 4) * 10 结果等于 60.


下方使用了逻辑操作 AND, OR:

e.g. If  MyFunc1() OR MyFunc2() Then     (如果 MyFunc1() 返回 true 则 MyFunc2() 不会被调用)

e.g. If  MyFunc1() AND MyFunc2() Then    (如果 MyFunc1() 返回 false 则 MyFunc2() 不会被调用)

网友评论

登录后评论
0/500
评论
古贤
+ 关注