3.4 运算符与表达式
运算符是代表数据运算某种操作的符号,被运算的对象,即数据,称为操作数,由运算符和操作数组成的式子,称为表达式。操作数可以是常量、变量或函数。
Visual Basic提供了丰富的运算符,包括赋值运算符、算术运算符、关系运算符、逻辑运算符和字符串运算符等,由此可以构成多种表达式。
3.4.1 赋值运算符
赋值运算符用来给变量、变长数组或对象的属性赋值,即把运算符右边的内容赋给运算符左边的变量或属性。Visual Basic中的赋值运算符是“=”,其一般格式如下。
变量名=表达式
其中的“变量名”可以是变量名、数组的元素名或属性名。“表达式”可以是常量、变量、表达式或函数返回值。例如:
01 a=1 02 Form1.Caption= "登录窗口" 03 str= "请输入用户名" 04 Form1.Label1.Caption=str 05 sum=a+1 06 q=sin(2)
3.4.2 算术运算符
Visual Basic中提供了完备的算术运算符,可以进行复杂的数学运算。其中,“-”运算符在单目运算(单个操作数)中作取负号运算,在双目运算(两个操作数)中作算术减运算,其余都是双目运算符。运算符优先级表示当表达式中含有多个操作符时,先执行哪个操作数。表3.5按优先级从高到低的顺序列出了Visual Basic的算术运算符(设a变量为整数,值为2)。
表3.5 算术运算符
注意
算术运算符两边的操作数应是数值型。若是数字字符或逻辑型,则自动转换成数值类型后再进行运算。
例如:
9-True '结果是10,逻辑值True转为数值-1,False转换为数值0 False+3+ "4" '结果是7
3.4.3 关系运算符
关系运算符也称比较运算符,是双目运算符,用来确定两个操作数之间的关系。其优先级低于数学运算符,各个关系运算符的优先级是相同的,结合顺序从左到右。若关系成立,则返回True,否则返回False。在Visual Basic中,关系运算符常用于条件语句和循环语句的条件判断部分。表3.6列出了Visual Basic中的关系运算符。
表3.6 关系运算符
在比较时应注意以下规则。
❑如果两个操作数是数值型,则按其大小比较。
❑如果两个操作数是字符型,则按字符的ASCII码值从左到右一一比较。
❑如果是字符串,默认大小写区分。
❑“Like”运算符以及“?”、“*”、“#”等通配符,常用于数据库中的SQL命令中的模糊查询。
3.4.4 逻辑运算符
逻辑运算符除Not是单目运算符外,其余都是双目运算符,作用是进行逻辑运算,其结果为True或False。表3.7列出了Visual Basic中的逻辑运算符、运算优先级。
表3.7 逻辑运算符
3.4.5 字符串运算符
算术运算符“+”也可以用作字符串运算符,它可以把两个字符串连接在一起,生成一个较长的字符串。在Visual Basic中,还可以用“&”作为字符串的连接符。其作用与“+”相同。“+”既可以用作加法运算符,也可用作字符串连接运算符,而“&”专门用作字符串连接运算符。在有些情况下,用“&”比用“+”更安全。
3.4.6 表达式
表达式由变量、常量、运算符、函数和圆括号按一定的规则组成。表达式通过运算后有一个结果,运算结果的类型由数据和运算符共同决定。
1. 表达式的书写规则
❑乘号不能省略。例如:a乘以b应写成a*b。
❑括号必须成对出现,均使用圆括号;可以出现多个圆括号,但要配对。
❑表达式从左到右在同一个基准上书写,无高低、大小区分。例如:数学表达式(xy)4写成Visual Basic表达式为(x*y)^4。
2. 表达式的执行顺序
一个表达式可能含有多种运算,计算机按一定的顺序对表达式求值。前面已在运算符中介绍过,算术运算符、逻辑运算符都有不同的优先级,关系运算符的优先级相同。当一个表达式中出现了多种不同类型的运算符时,不同类型的运算符优先级如下。
括号>算术运算符>字符运算符>关系运算符>逻辑运算符