Visual Basic.NET+SQL Server全程指南
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

2.4 控制流程

本节主要讲述VB.NET的基本语句,包括顺序语句、条件语句和循环语句等。流程控制语句是编程语言中非常重要的部分,基本上每种语言都有其流程控制语句,用来控制程序的运行流程。

2.4.1 顺序语句

顺序结构就是代码依照它在程序中的位置按照顺序从上往下执行。如下面的示例代码,按从上到下的顺序依次执行。

        Sub substr()
            Dim a As String
            Dim b As String
            Dim t As String
            a="Hello!"
            b="World!"
            t=b  ''t="World!"
            b=a  ''b="Hello!"
            a=t  ''a="World!"
        End Sub

以上语句按照从上到下的顺序执行,主要借助变量t,实现变量a和b的交换。

2.4.2 条件语句

在有些情况下,需要基于一个条件执行一些代码,这时就要使用条件语句。VB.NET中的条件语句有If…Then…语句和Select Case…语句。

1.If…Then…语句

如果符合某个条件(即当条件为True时),就执行某些代码,反之,则执行其他代码。

If…Then…语句有单行和多行两种类型。使用单行语句执行基于一个条件的单个语句。If…Then…语句的单行语法如下:

        If condition Then statement [Else statement]

其中,condition(条件)是一个布尔表达式。若条件为真,则执行Then后面的语句;反之,则执行Else后面的语句。且中括号中的内容即Else部分是可选的。

示例如下:

        If a > 10 Then b = 20 Else c = 10

上面的例子说明了单行If…Then…语句的使用方法。例子判断变量a是否大于10,若比10大,则将变量b设置为20;反之,则执行Else后面的语句设置变量c为10。

在单行If…Then…语句的方式下,也可以使用多条语句,但所有语句都要在同一行,并要用冒号分开。语法如下:

        If condition Then statement :[statement]:[statement]

示例如下:

        If a > 10 Then b = 20 : MsgBox(b)

在上例中,先判断变量a是否大于10,若比10大,则将变量b的值设置为20,并显示一个消息框。但单行多条语句方式可能会影响代码的可读性。在这种情况下,可以采用多行语句的方式。多行语句语法如下:

        If condition Then
            statement
        [Else
            [statement]]
        End If

在语法中使用的End If语句表示该条件语句的结束。

示例如下:

        If a > 0 And b < 10 Then
            c = 20
        Else
            c = 10
        End If

但有时条件语句中有多个条件需要判断,此时,可用在If…Then…语句中使用Else If语句,语法如下:

        If condition1 Then
            statement1
        [
        ElseIf condition2 [Then]
            [statement2]
        ElseIf condition3 [Then]
            [statement3]
        ...
        ]
        [Else
            [statementn]]
        End If

其中,若condition1为假,则控制转移到condition2;若condition2为真,则执行statement2;否则,控制转移到condition3;若condition3为真,则执行statement3;否则控制转移到下一个判断条件,直到条件为真为止。若在Else语句之前的所有条件都不为真,则执行Else后面的语句。

示例如下:

        If a > 0 And a <= 10 Then
            c = 15
        ElseIf a > 10 And a <= 20 Then
        c = 25
    ElseIf a > 20 And a <= 30 Then
        c = 35
    Else
        c=100
    End If

在这个例子中,若a的值为9即在0<a<=10范围内,则执行将变量c的值设置为15;若a的值为19,即10<a<=20范围内,则执行将变量c的值设置为25;若a的值为29,即在20<a<=30范围内,则执行将变量c的值设置为35;若a的值为39则前面判断条件都不正确,则执行Else后面的语句,设置c为100。

在程序中,可以有嵌套的If语句,可以按任何层次嵌套If语句,但需要有End If分开各个If语句。

下面以实例说明If…Then语句的使用。