指示执行流程的声明。
说明
控制流程语句控制程序执行从一个语句到下一个语句;它们根据某种条件确定哪些语句被执行和何时执行。条件总是一些表达式计算为true或false。大多数控制流程语句检查某种情况,并相应地直接执行代码流程,即它们执行或不执行代码块(除了传输控制流程语句和
Do..Loop,它具有可选条件)。此外,所有控制流语句都可以嵌套,也就是说,它们可以在语句块中具有其他控制流语句。
控制流程语句有三种:传输,分支和循环。传输控制流程语句将执行转移到代码的不同部分。分支控制流语句基于条件执行某些语句块,而循环控制流语句在或直到满足条件时重复执行代码。
转让声明
这些声明用于无条件或有条件的,暂时的或永久的执行转让。“ON”变体有条件地从文本标签列表中选择一个传送点。如果分支不跨任何本地数组,可变长度字符串或对象定义,执行可能会在不同的范围之间传输。
去en
无条件地将执行转移到由文本标签定义的代码中的另一点。标签后面的第一个语句执行恢复。
GoSub
无条件地暂时地将执行转移到代码中的另一个点,由文本标签定义。标签后面的第一个语句执行恢复。然后,使用
Return关键字将执行恢复到原始位置。是的,
GoSub语句可以嵌套,也就是说,多个
GoSub语句可以在第一个相应的
Return之前执行,但在整个应用程序过程中始终必须有相应的
Return.
在Goto
根据表达式的值,将执行转移到由文本标签定义的代码中的一个点中。
在Gosub
基于表达式的值,暂时将执行转移到由文本标签定义的代码中的一个点中。
分支声明
这些语句用于执行多个语句块之一。
如果...如果
如果表达式的计算结果为true(条件),则执行一个语句块。当且仅当表达式计算为false时,如果另一个表达式使用
ElseIf关键字计算为true,则可以执行另一个语句块。当且仅当所有这些表达式求值为false时,可以使用
Else关键字执行语句块。
选择...选择
执行多个语句块之一。这个分支语句试图满足一个表达式的条件和多个case表达式之一。案例表达式按照给定的顺序进行检查,并且满足的第一个案例表达式具有执行其关联的语句块。像
If..End If一样,当没有其他case表达式满足条件时,可以定义默认情况,并且与循环控制流语句一样,案例的语句块可能会被过早地破坏
Exit关键字。
循环声明
这些语句用于重复执行语句块。在语句块中,循环可以使用
Continue关键字过早重新执行,或者使用
Exit关键字分解。循环是否由条件或
Exit关键字终止,执行始终从块之后的第一个语句开始。
While..Wend
当一些表达式求值为true(条件)时,执行一个语句块。在执行语句块之前,对表达式进行评估和检查。
For..Next
像
While..Wend,但更适合循环一定次数。该循环初始化所谓的迭代器,其具有针对测试表达式进行检查的初始值。如果迭代器比较小于或等于测试表达式(条件),则执行语句块,迭代器递增。也可以设置循环,以便迭代器在每个循环之后递减,在这种情况下,它被比较大于或等于测试表达式。迭代器可以是数字数据类型,如
Integer或
Double或用户定义的类型。用户定义的类型必须实现
操作符 For.
Do..Loop
循环控制流语句最通用,这个循环可以执行一个或多个语句,直到表达式计算结果为true(条件)。它也可以延迟表达式的检查,直到块执行第一次之后,当需要执行一个语句块时很有用at least once .最后,这个循环根本就没有条件,只能无限循环。