![]() ![]() |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
VB考试教程:运算符与表达式 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
作者:佚名 文章来源:不详 点击数 更新时间:2008/4/18 14:46:37 文章录入:杜斌 责任编辑:杜斌 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
运算符——用来对运算对象进行各种运算的操作符号。 表达式——由多个运算对象和运算符组合在一起的合法算式。 其中运算对象包括常数、常量、变量和函数,而常数、常量、变量和函数可以看作没有运算符的表达式。 VB中的运算符分五类——算术运算符、连接运算符、关系运算符、逻辑运算符和特殊运算符; VB中的表达式有三种——算术表达式、关系表达式和逻辑表达式。 一、算术运算符 算术运算符——用来进行数学运算的运算符。 VB中主要的算术运算符见下表:
1、^(幂运算符) 幂运算符用来计算某个数或表达式的某次方的值。其中,幂运算符右边的数或表达式是次方数。例如: Private Sub Form_Paint() Dim MyValue as Integer End Sub 同样: MyValue = 3 ^ 3 ^ 3 ' 返回 19683 MyValue = (-5) ^ 3 ' 返回 -125 2、* (乘法运算符) 乘法运算符用来计算两个数或表达式的积。例如: Dim MyValue MyValue = 2 * 2 ' 返回 4。 MyValue = 459.35 * 334.90 ' 返回 153836.315。 3、浮点数除法(/)与整数除法(\) 浮点数除法执行标准除法操作;整数除法执行整除运算,结果为整形值,且不进行四舍五入(如3\2=1),其操作数一般为整形数,如果是小数,首先被四舍五入为整形或长整形数,再进行整除运算,如: 25.63\6.78=3。 4、取模运算Mod 取模运算Mod用来求余数,其结果为第一个操作数整除第二个操作数所得的余数。如: 21 Mod 4=1; 25.68Mod 6.99=5 二、连接运算符 连接运算符就是将两个表达式连接在一起。 用来进行连接运算的运算符有两 个:“&”和”+”。 “&”运算用来强制两个表达式作字符串连接,而“+”运算则有些不同,如果两个表达式都为字符串时,则将两个字符串连接(相接);如果一个是字符串(数字形)而另一个是数字则进行相加操作。 如下表比较了两种连接运算的不同结果:
在使用“+”运算符时有可能无法确定是做加法还是做字符串连接。为避免混淆,可使用 & 运算符进行字符串连接,从而改进了程序代码的可读性。 三、关系运算符(比较运算符) 关系运算符是用来比较两个数或表达式的运算符,它的主要作用是确定表达式之间关系,运算的结果可分为True和False和Null,只要运算的双方有任何一方是Null,结果还是Null。 用关系运算符连接两个算术表达式所组成的式子叫做关系表达式。 其使用说明如下: Result = Expression1 Comparisonoperator Expression2 (结果变量= 表达式1 关系运算符 表达式2) 其中: Result(结果变量)可以是任何数值变量; Expression1(表达式1),Expression2(表达式2)可以是任何表达式; Comparisonoperator(关系运算符)可以是任何关系运算符。 下表所示为一系列关系运算符以及判定Result 是 True、False 还是 Null 的条件: 关系运算符使用说明
在比较两个表达式的时候可能难以确定将要比较的表达式是进行数字比较还是字符串比较。下表说明表达式如何进行比较,或说明当其中一个表达式是Variant类型时,如何获得比较的结果。 表达式的比较方式:
如果 Expression1 和 Expression2 都是 Variant 类型的表达式, 则它们的内部数据的类型决定了比较方式。下表说明如何比较表达式,或指出通过比较得到的结果,此结果由 Variant量的内部数据的类型来决定。 Variant类型的表达式的比较方式
当一个Single类型 与一个Double类型作比较时,Double类型会进行舍入处理而与此Single有相同的精确度。 如果一个 Currency型 与一个 Single型 或 Double型 进行比较,则 Single型或Double型转换成一个Currency型。与此相似,当一个Decimal型要与一个Single型或Double型进行比较时,Single型或Double型会转换成一个Decimal(十进制)型。对于Currency型,任何小于 0.0001 的小数将被舍弃,对于 Decimal型,任何小于 1E-28 的小数将被舍弃,或者可能产生溢出错误。舍弃这样的小数部分会使原来不相等的两个数值经过比较后相等。 关系运算符用于两个表达式的比较,其结果为True或False。它们的应用示例如表3-12所示。读者使用关系运算符时可以此表作为参考。 关系运算符操作示例
四、逻辑运算符 逻辑运算符通常用来表示比较复杂的关系。例如中国的球迷就经常面对这样的一个条件:中国足球队只要战平或者战胜××队就可以冲出亚洲走向世界。这个条件如果用VB来表示,应该这样写:If 中国足球队战平××队OR中国足球队战胜××队then冲出亚洲走向世界。 在这个条件中的OR运算符就是逻辑运算符,它表示“或者”的意思,当两个条件中的任意一个为TRUE时,整个条件就为TRUE。 下表给出了逻辑运算符的功能。 逻辑运算符使用说明
需要说明一下的是运算符Imp,它表示的逻辑关系是:当A为False或者B为True结果才为“True”,否则为“False”。 如下表列出了VB中所有的逻辑运算符和它们表示的逻辑关系,为了便于读者阅读,在表中以”1”代表True,以”0”代表False。 逻辑运算符和它们表示的逻辑关系
逻辑运算符举例:见教材P55—P57。 五、特殊运算符 VB提供了两种特殊运算符:Is和Like。它们应归于比较运算符。 1、Is 运算符 比较两个对象变量的引用变量,返回结果为True或False。 语法格式: Result=Object1 Is Object2
Is运算的语法说明:
如果变量Object1和Object2两者引用相同的对象,则Result为True;否则,Result为False。 示例: Dim MyObject,YourObject,ThisObject,OtherObject,ThatObject,MyCheck '定义变量 ··· '给变量赋值 Set YourObject=MyObject '指定对象引用 2、Like 运算符 把一个字符串表达式与一个给定模式(SQL表达式中的样式)进行匹配,匹配成功返回结果True,否则返回结果False。主要用于数据库中的查询。 语法格式: Result=String Like Pattern(注:式样、模型) Like 运算符的语法说明:
使用like 运算符时应注意:
pattern中匹配字符以及它们相应的匹配内容如下表:
说明:在中括号 ([ ]) 中,可以用由一个或多个字符组成的集合与 String 中的任一字符进行匹配,这个集合几乎可以包括所有字符和数字。 通过在范围的上、下限之间用连字符 (-),Charlist 可以指定字符的范围。例如,如果 String 中相应字符的位置包括 A-Z 之间的任意大写字母,则 [A-Z] 得到一个匹配模式。不需要分界符的情况下,方括号内就可以包括多个范围。 下面列举的是模式匹配的其它重要规则:
为更好地理解Like 运算符的使用,示例如下: Dim MyCheck '定义变量 MyCheck = "aBBBa" Like "a*a" '"BBB"与"*"相匹配,返回结果True。 MyCheck = "F" Like "[A-Z]" '"F"与字符范围列表"[A-Z]"匹配,返回结果True。 MyCheck = "F" Like "[!A-Z]" '"F"与字符范围列表"[!A-Z]"不匹配,返回结果 False。 MyCheck = "a2a" Like "a#a" '数字2与"#"匹配,返回结果True。 MyCheck = "aM5b" Like "a[L-P]#[!c-e]" '字母"M"字与符集合[L-P]匹配,字母"b"与字符集合[!c-e]匹配,最后返回结果True。 MyCheck = "BAT123khg" Like "B?T*" '字母"A"与"?"匹配,字符串"123khg"与"*"匹配,所以返回结果 True。 注意:为了与左括号 ([)、问号 (?)、数字符号 (#) 和星号 (*) 等特殊字符进行匹配,可以将它们用方括号括起来。不能在一个集合内使用右括号 (]) 与自身匹配,但在组外可以作为个别字符使用。 六、运算符的优先级 在一个表式中进行若干操作时,每一部分都会按预先确定的顺序进行计算求解,称这个顺序为运算符的优先顺序。一般顺序如下: 函数运算→算术运算→连接运算→关系运算→逻辑运算。 对于算术运算符、比较运算符和逻辑运算符,它们的优先级如下表,按照从左到右,从上到下优先级依次减小。
说明:
七、表达式 1、表达式的组成 表达式由变量、常量、运算符、函数和圆括号按一定的规则组成,表达式的运算结果的类型由参与运算的数据类型和运算符共同决定。 2、表达式的种类 根据表达式中运算符的类别可以将表达式分为算术表达式、字符串表达式、日期表达式、关系表达式和逻辑表达式等。 3、表达式的书写规则
4、表达式中不同数据类型的转换 如果表达式中操作数具有不同的数据精度,则将较低精度转换为操作数中精度最高的数据精度,即按Integer、Long、Single、Double、Currency的顺序转换,且Long型数据和Single型数据进行运算时,结果总是Double型数据。 八、语句 1、赋值语句 VB的程序代码由语句、常数和声明部分组成。其中使用频率最高的语句就是赋值语句,使用赋值语句可以在程序运行中改变对象的属性和变量的值。 它的语法如下: 对象属性或者变量=表达式 这个语句的含义就是将等号右边表达式的值传送给等号左边的变量或者对象属性。例如下面这些语句都是赋值语句: Form1.Width=300 Temp=Form1.Width Form1.Caption="你好" set 变量名=表达式 (set用于对对象型的变量进行赋值) 2、注释语句 在程序中使用注释是一个很好的习惯。程序员可以使用注释来说明自己编写某段代码或声明某个变量的目的,以后只要读到这些注释就会想起当时的思路,既方便了开发者自己,也方便以后要阅读这些代码的其他程序员。 添加注释,只要使用Rem关键字或撇号(')作为文字的开头,注意用Rem时必须使用冒号与前面语句隔开。 下面的语句是赋值语句和注释的示例: Form1.Width=300 '将窗体的宽度设置为300 Temp=Form1.Width '将窗体的宽度赋值给变量Temp Form1.Caption="你好" :Rem 修改窗体的标题文字 Temp=Temp+20 '变量Temp赋值为自己的原值加20 注释可以和语句在同一行并写在语句的后面,也可占据一整行。上面的例子对这两种情况都作了示范。 3、续行 有的时候,一条VB语句会很长,这给打印和阅读都带来了不便。在这种情况下,可以使用续行符”_ “(一个空格紧跟一条下划线_将长语句分成多行。 4、将多行语句写在一行上 多条较短的语句要写在一行,语句间用“:”作为分隔符号。例如: Formq.width=300:Temp=Form1.Width:Form1.Caption="你好!" |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() ![]() |