一路探索者

导航

 

      在一个表达式中进行若干操作时,每一部分都会按预先确定的顺序进行计算求解,称这个顺序为运算符的优先顺序。优先级越高,越优先计算;相同级别运算符之间,又按照运算符的结合性运算,即从左到右,还是右到左。

      当表达式包含不止一种运算符时,则按照下列规则对其进行计算:

(1)、算术运算符的优先级在下面列出,它们的优先级高于串联运算符、比较运算符、逻辑/按位运算符、赋值运算符。

(2)、串联运算符的优先级在下面列出,它的优先级高于比较运算符、逻辑/按位运算符、赋值运算符,但低于算术运算符。

(3)、比较运算符的优先级高于逻辑/按位运算符、赋值运算符,但低于算术运算符和串联运算符。

(4)、逻辑/按位运算符的优先级在下面列出,它们的优先级高于赋值运算符,但低于算术运算符、串联运算符和比较运算符。

(5)、赋值运算符的优先性最低。

 

1、算术运算符的优先顺序如下:

^

–(负数)

*、 /

\

Mod

+、–(加法和减法)

      当乘法和除法同时出现在表达式中时,每个运算都按照它们从左到右出现的顺序进行计算。当乘法和除法同时出现在表达式中时,每个运算也都按照它们从左到右出现的顺序进行计算。可以用括号改变优先顺序,强令表达式的某些部分优先运行。括号内的运算总是优先于括号外的运算。但是,在括号之内,运算符的优先顺序不变。

      总结:算术运算符的优先顺序由上至下,优先性降低;同一行的优先性相同,按照从左到右结合性进行运算。

 

2、串联运算符的优先顺序如下:

+(字符串连接)

&(字符串连接)

字符串的连接有两种:一种为“&”运算符,另一种则为“+” 运算符。

(1)、“&”连接运算符用于强制将两个表达式作为字符串连接,重点是强制,即使有一边为字符串,一边为数字类型都可以。

参考如下:

Label1.Caption="abc" & 123 ="abc123"     

 

(2)、“+”连接运算符,有两中用途:如果两边都为数字类型,则进行运算;如果两边都为字符串类型,则进行连接。

参考如下:

Lable1.Caption=520+1351  结果为1871

Label1.Caption = "http://www." + "cnblogs.com/" + "5201351"         

结果则为http://www.5201351.com/5201351

总结:两种串联运算符的优先顺序相同,按它们出现的顺序从左到右进行运算。

 

3、比较运算符的优先顺序如下:

=、<>、<、<=、>、>=、Like、Is  

Like 的优先顺序与所有比较运算符都相同,实际上是模式匹配运算符。

Is 运算符是对象引用的比较运算符。它并不将对象或对象的值进行比较,而只确定两个对象引用是否参照了相同的对象。

总结:所有比较运算符的优先顺序相同,按它们出现的顺序从左到右进行运算。

 

4、逻辑/按位运算符的优先顺序如下:

Not

And

Or

Xor

Eqv

Imp

      因为这几种运算符,即可以逻辑运算,又可以进行位运算,因此,它们的种类是逻辑/按位运算符。

      总结:逻辑运算符的优先顺序由上至下,优先性降低。Not为单目运算符,按照从右到左结合性进行运算;其余五个为双目运算符,按照从左到右结合性进行运算。

 

5、赋值运算符

赋值运算符“=”,用来对变量赋值,按照从右到左结合性进行运算。

注意:运算符“=”既可以作比较运算符,又可以作赋值运算符。

总结:赋值运算符的优先性最低。

posted on 2021-07-15 09:51  一路探索者  阅读(778)  评论(0)    收藏  举报