一,程序设计时经常用到的有6种运算:算术运算(Arithmetic)、赋值运算(Assignment)、二进制运算(Bitwise)、比较运算(Comparison)、连接运算(concatenation)及逻辑运算(Logical)
1.算术运算
运算符 | 名称 | 类型 | 说明 |
+ | 加号 | 双目运算符 | 加号两边的操作数是数字类型时,要注意有没有溢出的可能;另外,“Single”类型与“Long”类型相加时,返回值为“Double”类型,如果两个操作数都为“Empty”,则返回值为“Integer”;一个是“Empty”,另一个不是时,另一个操作数即是返回值 |
- | 减号或负号 | 双目运算符或单目运算符 | 做双目运算符时同加号。单目运算时,表示一个数的相反数 |
* | 乘号 | 双目运算符 | 同加号 |
/ | 浮点除号 | 双目运算符 | 操作数同时为“Byte”、“Integer”或“single”,返回值在不溢出时为“Single”或“Double” |
整除号 | 双目运算符 | 操作数可以是任何类型的数,但在运算时都被取整,返回值一般为“Byte”、“Single”、“Double”。 | |
MOD | 求余号 | 双目运算符 | 返回第一个操作数整除第二个操作数的余数,例如:10 MOD 3结果为1;12.6 MOD 5结果为3 |
^ | 求指号 | 双目运算符 |
对第一操作数进行连乘,连乘次数为第二个操作数,注意:求指号的运算顺序为从右到左,例如:3^3^3结果为19683,而(3^3)^3结果为729 |
2.赋值运算符
运算符 |
名称 |
类型 |
说明 |
= |
赋值号 |
双目运算符 |
第二个操作数值传给第一个操作数 |
+= |
加等号 |
双目运算符 |
第一个操作数加上第二个操作数传给第一个操作数 i+=1 i+1=i |
-= |
减等号 |
双目运算符 |
第一个操作数减去第二个操作数传给第一个操作数 i-=1 i-1=i |
*= |
乘等号 |
双目运算符 |
第一个操作数乘以第二个操作数传给第一个操作数 i*=1 i*1=i |
/= |
浮点除等号 |
双目运算符 |
第一个操作数除以第二个操作数传给第一个操作数 i/=1 i/1=i |
= |
整除等号 |
双目运算符 |
第一个操作数整除第二个操作数传给第一个操作数 i=1 i1=i |
^= |
求指等号 |
双目运算符 |
第一个操作数连乘第二个操作数次传给第一个操作数 i^=1 i^1=i |
&= |
连接等号 |
双目运算符 |
第一个操作数连接第二个操作数传给第一个操作数 i&=1 i&1=i |
3.二进制运算符
运算符 |
名称 |
类型 |
说明 |
BitAnd |
按位与 |
双目运算符 |
o BitAnd o值为o false BitAnd false 值为 false |
BitNot |
按位非 |
单目运算符 |
BitNot
o值为1 BitNot false 值为 true |
BitOr |
按位或 |
双目运算符 |
o
BitOr o值为o false
BitOr false 值为 false |
BitXor |
按位异或 |
双目运算符 |
O
BitXor o为o false BitXor false 为 false |
4.比较运算符
比较运算符用于比较大小,结果为“True”或“False”,如果操作数包含“Empty”,则按“0”进行处理。
运算符 |
名称 |
类型 |
说明 |
< |
小于 |
双目运算符 |
操作数可以是任何合理的表达式 |
<= |
小于等于 |
双目运算符 |
操作数可以是任何合理的表达式 |
> |
大于 |
双目运算符 |
操作数可以是任何合理的表达式 |
>= |
大于等于 |
双目运算符 |
操作数可以是任何合理的表达式 |
= |
等于 |
双目运算符 |
操作数可以是任何合理的表达式 |
<> |
不等于 |
双目运算符 |
操作数可以是任何合理的表达式 |
Is |
是 |
MyCheck=YourObject Is ThisObject '返回True |
|
Like |
像 |
2.Like运算符 like的第一操作数要求是“String”类型,第二操作数要求是“String”或字符串的标准样式。字符串的标准样式主要由5点组成: 例:MyCheck="aBBBa" Like "a*a" '返回True
|
5.连接运算符和逻辑运算符
(1)连接运算符
运算符 |
名称 |
类型 |
说明 |
+ |
加连接符 |
双目运算符 |
如果两个操作数为“String”,就把这两个操作数连接成一个字符串,否则按加号处理 |
& |
连接符 |
双目运算符 |
将操作数强行转换成“String”,再进行连接运算 |
(2)逻辑运算符
运算符 | 名称 | 类型 | 说明 |
AND | 与 | 双目运算符 | A AND B表示A与B,A、B都为“True”时,结果为“True”,否则为“False” |
NOT | 非 | 单目运算符 | NOT A表示非A,A为1时,结果为0;A为0时,结果为1 |
OR | 或 | 双目运算符 | A OR B表示A或B,A、B都为“False”时,结果为“False”,否则为“True” |
XOR | 异或 | 双目运算符 | A XOR B表示A异或B,A、B不相等时,结果为“True”,否则为“False” |
二,运算符的优先级
1.在表达式中,首先处理算术运算符,然后是比较运算符,最后是逻辑运算符。同一种运算符中,单目运算符的优先级高于双目运算符。优先级相同的运算符,按从左到右的顺序进行处理(求指运算除外)。
2.字符串连接运算符(&)不是运算符,但就其优先级而言,它排在所有算术运算符之后,以及所有比较运算符之前。
3. 还可以使用括号来改变有限顺序,强制命令表达式中的某些部分优先执行。在括号内部的符号的优先级高于括号外边的运算符,同一个括号内的运算符优先级不变,使用括号既省去了死记运算符优先级的麻烦,而且有利于程序的可读性和可维护性。
算术、二进制及连接运算符 |
比较运算符 |
逻辑运算符 |
求指号(^) |
等号(=) |
Not |
负号(-) |
不等号(<>) |
And |
乘除号(*、/) |
小于(<) |
Or |
整除号() |
大于(>) |
Xor |
求余号(MOD) |
小于等于(<=) |
|
加减号(+、-) |
大于等于(>=) |
|
二进制运算符(BitNot,BitAnd,BitOr,BitXor) |
Like,Is |
|
连接运算符(&) |
|
|