PB 基本的流程控制语句主要有:
If …. Else
For
While
Choose Case
goto
Break
Continue
1. If
基本形式有:
If ( i > 0 ) Then//i > 0 时的处理 ElseIf( i = 0 ) Then //ElseIf 非必须存在的,可以有也可以没有 Else //也非必须存在的 End If If i > 0 Then //处理 //这个就是没有 ElseIf ,Else 字句的 End If If ( i > 0 ) Then // 处理 //这个语句只适用这种情况,没有end If ,且处理只有一条语句,这些语句也必须要写在后面才行,不可另起一行
2. For
这个是pb中用的最多的循环了 ,基本形式
For i = 1 To 10 //循环10次, 这里可以直接引用i ,i会自动累加1 //其实这个For是有点省略的,它和For i = 1 To 10 Step 1是等同的,也就是默认的Step 是1 //For i = 1 To 10 Step 2 也就是每次跳2个,i取值 1 ,3,5,7,9 也就是循环5次 ,其他类似 //For i = 10 To 1 这个是不执行的循环的 //For i = 10 To 1 Step -1 这个就是倒序了,i的取值依次是 10,9,8,7,6,5,4,3,2,1 i = 4 //在程序中也可以改变i的值,第一次循环i = 1 ,执行到这句后i=4,第一次循环后自动i累加 i = 5 //也就是这个循环i的取值依次是 1,5,6,7,8,9,10 Next
3. Choose Case
这个功能和If有点类似,直接看实例
i = 3 Choose Case i Case 1 //如果i = 1 执行这里 Case 2 //如果i = 2 执行这里 Case 3 //如果i = 4 执行这里 Case 4 //如果i = 4 执行这里 Case 10 To 20 //如果i 取值在 [10,20] ,那么执行这里 Case Is > 100 //如果i > 100 执行这里 //这里Is作为一个关键字出现的,他代表 Choose Case 后面的表达式 Case Else //以上都没满足的就执行这里 //这个也不是必须有的,也可以不用Case Else End Choose
4. Break 跳出
主要针对循环用得比较多,也就是跳出循环,例如:
For i = 1 To 10 If i = 4 Then Break End If Next //i = 4时直接就跳出这个for循环了,继续执行下面的代码 ,也就是这个循环就执行了4次 ,i取值依次是1,2,3,4
5. Continue
For循环中使用 ,跳出本次循环
j = 0 For i = 1 To 10 If i = 4 Then Continue End If j ++ Next //i = 4 时执行Continue,就跳出了本次循环,也就是不执行j++了,直接下一次循环也就是执行i=5那次循环了 //i取值一次是 1,2,3,4,5,6,7,8,9,10 。但是J++就执行了9次,i=4那次没执行
6. Goto
跳转,可以实现执行时的跳跃,也就是现在正执行第10行代码,下次应该执行11行,只用goto就可以直接跳到20行,30行类似。。
j = 0 If i = 1 Then goto Retn Else j ++ End If j = j + 10 Return // 这个return是阻止代码向下执行,如果没有这句,那么不管i等于几 ,j的值都会是3 Retn: j = 3 //如果 i=1 ,那么就不执行 j = j+10 这一步了,因为直接跳过去了
7. While ,Until
//DO UNTIL The following DO UNTIL repeatedly executes the Beep function until A is greater than 15: integer A = 1, B = 1 DO UNTIL A > 15 Beep(A) A = (A + 1) * B LOOP //DO WHILE The following DO WHILE repeatedly executes the Beep function only while A is less than or equal to 15: integer A = 1, B = 1 DO WHILE A <= 15 Beep(A) A = (A + 1) * B LOOP //LOOP UNTIL The following LOOP UNTIL executes the Beep function and then continues to execute the function until A is greater than 1: integer A = 1, B = 1 DO Beep(A) A = (A + 1) * B LOOP UNTIL A > 15 //LOOP WHILE The following LOOP WHILE repeatedly executes the Beep function while A is less than or equal to 15: integer A = 1, B = 1 DO Beep(A) A = (A + 1) * B LOOP WHILE A <= 15