VB快速入门 下载本文

注意“+”和“&”的区别。当两个被连接的数据都是字符型时,它们的作用相同。当数字型和字符型连接时,“&”把数据都转化成字符型然后连接;“+”把数据都转化成数字型然后连接。

例:

\其值为\。

\姓名:\张三\其值为:\姓名:张三\。 23 & \其值为:\。 23+\其值为:30。

而23+\则会出现类型不匹配的错误。

3、关系表达式及运算符

关系表达式用来比较两个数值或字符串,返回值是逻辑值True或False。见下表。

运算符 = <> > < >= <= Like is 说明 相等运算符 不等运算符 大于运算符 小于运算符 大于或等于运算符 小于或等于运算符 字符串模式匹配运算符 对象一致比较运算符 4、日期表达式及运算符

日期表达式由算术运算符“+、-”、算术表达式、日期型常量、日期型变量和函数组成。他们之间只能进行加“+”、减“-”运算。有3种情况:

? 两个日期型数据可以相减,结果是一个数值型数据

? 一个表示天数的数值型数据可以加到日期型数据中,其结果仍然为一日期型数据 ? 一个表示天数的数值型数据可从日期型数据中减掉它,其结果仍然为一日期型数

据。

5、逻辑运算符

逻辑运算符对逻辑量进行逻辑运算,除Not外都是对两个逻辑量运算。结果为逻辑值True或False。 运算符 Not And Or Xor Eqv Imp

说明 取反运算符(运算数为假时,结果为真,反之结果为假) 与运算符(运算数均为真时,结果才为真) 或运算符(运算数中有一个为真时,结果为真) 异或运算符(运算数相反时,结果才为真) 等价运算符(运算数相同时才为真,其余结果均为假) 蕴含运算符(第一个运算数为真,第二个运算数为假时,结果才为真,其余结果均为假) 6、运算符优先顺序

在一个表达式中进行若干操作时,每一部分都会按预先确定的顺序进行计算求解,称这个顺序为运算符的优先顺序。

在表达式中,当运算符不止一种时,要先处理算术运算符,接着处理比较运算符,然后再处理逻辑运算符。所有比较运算符的优先顺序都相同;也就是说,要按它们出现的顺序从左到右进行处理。而算术运算符和逻辑运算符则必须按下列优先顺序进行处理:

算术 指数运算 (^) 负数 (–) 乘法和除法 (*、 /) 整数除法 (\\) 求模运算 (Mod) 加法和减法 (+、 –) 字符串连接 (&) 比较 相等 (=) 不等 (<>) 小于 (<) 大于 (>) 小于或相等 (<=) 大于或相等 (>=) Like Is 逻辑 Not And Or Xor Eqv Imp

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

字符串连接运算符 (&) 不是算术运算符,但是,就其优先顺序而言,它在所有算术运算符之后,而在所有比较运算符之前。

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

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

2.4.6 控制结构

控制结构用于控制程序执行的流程。如果未使用控制流语句,程序便从左至右、自顶向下地贯穿这些语句。有些简单程序可以只用单向流程来编写,有些流程可以依靠运算符的优先级来控制,但是要充分发挥VB的强大功能,实现复杂的效果,则必需掌握其控制结构。

1、选择结构

选择结构亦称判定结构或判断结构,表示根据不同的情况对某个条件做出判断,根据这个条件的具体取值情况做出不同的选择,执行不同的操作。

Visual Basic支持的选择结构有If语句和Select Case语句。 (1)If...Then 结构

用If...Then 结构有条件地执行一个或多个语句。单行语法和多行块语法都可以使用: If condition Then statement If condition Then

statements End If

Condition代表需要判断的条件,通常是比较式,但它可以是任何计算数值的表达式。Visual Basic将这个值解释为True或False:一个为零的数值为 False,而任何非零数值都被看

作True。若condition为 True,则Visual Basic执行 Then 关键字后面的所有statements。可以使用单行或多行语法有条件地执行一个语句(下面两个例子等价):

If anyDate < Now Then anyDate = Now If anyDate < Now Then anyDate = Now End If

注意:If...Then 的单行格式不用End If语句。如果condition为 True时要执行多行代码,则必须使用多行块 If...Then...End If 语法。

If anyDate < Now Then anyDate = Now

commandbutton1.Enabled = False ' commandbutton1控制失效。 End If

(2)If...Then...Else 结构 此种格式的具体写法如下:

If condition Then

[statementblock-1] Else

[statementblock-2] End If

这种格式代表的含义是:当条件成立时,执行Then后面的语句体1中的全部语句,执行完后跳出整个If语句体,执行If语句体后的语句;当条件不成立时,则执行Else后的语句体2中的全部语句,再执行整个If语句体后的语句。

If...Then...Else 结构也可以进行嵌套判断,格式如下: If condition1 Then [statementblock-1] ElseIf condition2 Then [statementblock-2] [ElseIf condition3 Then [statementblock-3]] …… [Else

[statementblock-n]] End If

此种格式只在条件不成立时再进行新的判断,可以使用简单的ElseIf格式。而且ElseIf部分可以嵌套多层,根据具体情况决定。只要使用时结构合理,可以使用任意层嵌套。

例如对成绩等级的判断:

If x>=90 Then Level1 = \优\ ElseIf x>=80 Then Level1 = \良\ ElseIf x>=70 Then Level1 = \中\ ElseIf x>=60 Then Level1 = \及格\

Else

Level1 = \不及格\

End If

(3)Select Case结构

Visual Basic 提供 Select Case 结构替代 If...Then...Else,从而可在多个语句块中有选择地执行其中一个。Select Case 语句的能力与 If...Then...Else 语句类似,但对多重选择的情况,Select Case 语句使代码更加易读。

Select Case 在结构的上方处理一个测试表达式并只计算一次。然后,Visual Basic 将表达式的值与结构中的每个 Case 的值进行比较。如果相等,就执行与该 Case 相关联的语句块。

Select Case语句的一般格式为:

Select Case testexpression

[Case expressionlist1

[statementblock-1]] [Case expressionlist2 [statementblock-2]] ?

[Case Else

[statementblock-n]]

End Select

每一个expressionlist是一个或几个值的列表。如果在一个列表中有多个值,就用逗号把值隔开。每一个statementblock 中含有零个或多个语句。如果不止一个Case与测试表达式相匹配,则只对第一个匹配的Case执行与之相关联的语句块。如果在表达式列表中没有一个值与测试表达式相匹配,则Visual Basic执行Case Else子句(此项是可选的)中的语句。

例如对成绩等级的判断也可以用Select Case结构:

Select Case x Case Is>=90 Level2 = \优\ Case Is>=80 Level2 = \良\ Case Is>=70 Level2 = \中\ Case Is>=60 Level2 = \及格\ Case Else

Level2 = \不及格\ End Select

2、循环结构

循环结构允许重复执行一行或数行代码。Visual Basic 支持的循环结构有: ? Do...Loop循环 ? For循环 (1)Do...Loop

用Do循环重复执行一语句块,且重复次数不定。Do...Loop 语句有几种演变形式,但每