分支和循环结构
没有这些结构,程序将只能顺序执行,这将是非常拙劣的。
分支结构
这个结构允许根据条件表达式的真或假,执行一些指令。
If ... Then
这是最基本的结构:
condition*是条件表达式。条件符号可以是:
-
>
:大于
-
<
:小于
-
>=
:大于等于
-
<=
:小于等于
-
=
:等于
-
<>
:不等于
因此可以比较两个值,两个变量比较的示例:
If Variable1 = Variable2 Then
在这里,"="符号描述相等比较,而不是给变量赋值(就像a=1)。
现在,这是一个演示的示例:
Public Sub Main()
Dim age As Integer
Print "How old are you? "
Input age
If age >= 18 Then
Print "You are major."
Else
Print "You are minor."
Endif
End
ELSE关键字可选。例如:
' Gambas module file
Public Sub Main()
Dim power As Integer = 15 'power in ch
If puissance < 15 Then
Print "Do you want to change your car? :p "
Endif
End
另外注意,如果仅有一个指令被执行,
ENDIF关键字是可选的:
Public Sub Main()
Dim power As Integer = 15 'power in ch
If puissance < 15 Then Print "Do you want to change your car? :p "
End
Select ... Case结构
当有多值条件时使用该结构。使用该结构,阅读代码会更清晰:
Public Sub Main()
Dim pays As string
Print "De quel pays venez-vous ?"
Input pays
pays= lcase(pays) 'remove uppercase
Select Case pays
Case "france"
Print "Bonjour !"
Case "england"
Print "Hello!"
Case "espana"
Print "Ola!"
Case "portugal"
Print "Hola !"
Case Else
print"??"
End Select
End
循环
循环允许重复一个或多个指令。有三种循环类型允许用不同的方式完成同样的功能。
For循环
For循环允许重复一个语句块/n/次。
Public Sub Main()
Dim i As Integer
For i = 1 To 5
Print "Value of i: " & i
Next
End
当Gambas第一次进入循环时,*i*的值是1,然后执行下一条指令,直到遇到
NEXT关键字。Gambas返回到循环的起始,然后增加*i*变量直到值达到5。循环内部的指令将会执行5次:
Value of i: 1
Value of i: 2
Value of i: 3
Value of i: 4
Value of i: 5
Do ... Loop循环
有时候我们不知道循环的次数,但是我们知道循环停止的条件。这是一个示例:
Public Sub Main()
Dim result As integer
Print "How many two and two?"
Do
Input result
Loop Until result = 4
PRINT "Congratulation! You have found :-) "
End
也能用
WHILE关键字代替
UNTIL关键字构建带条件的循环结构。
Do
Input result
Loop While result <> 4
While循环
关于
WHILE,这是一个专用的While循环结构:
' Gambas module file
Public sub Main()
Dim age As Integer
While age < 10
Inc age
Print "Value of age : " & age
Wend
End
结果:
Value of age : 1
Value of age : 2
Value of age : 3
Value of age : 4
Value of age : 5
Value of age : 6
Value of age : 7
Value of age : 8
Value of age : 9
Value of age : 10
循环介绍完了,你可以去阅读接下来的教程。