开发者社区> 问答> 正文

语言相关-条件选择语句

语言相关 - 条件选择语句



在我们写程序的过程中总会需要根据某个 条件 或一组条件的成立情况来控制程序的流程,我们可能要判断某个数值是否大于另外一个 , 又或者是判断某个字符串里是否含有指定的子串等等.
对系统而言所有的条件判断只有 true (非零,真) 或者 false (零,假)两种可能结果.通常我们利用 ==, <>, >=等比较 运算符 来对各种对象进行比较从而建立条件.

在码栈可用下面两种条件语句:
  • If...Then...Else
(字面意思:如果(某个条件成立)…那么(执行某些操作)…否则(执行另外一些不同的操作)
  • Select...Case
(这是开关语句,根据某个表达式的多种不同的值来选择执行不同的语句)
  • Switch...Case
(同上)

这三种语句的功能差不多,具体要用哪一种决定于给定的条件. 下面是一个使用 If 语句的例子,根据变量的值弹出一个 对话框

$var = -20
If $var > 0 Then
    J_MsgBox("$var 为正数!")
ElseIf $var < 0 Then
    J_MsgBox("$var 为负数!")
Else
    J_MsgBox("$var 为零!")
EndIf

在上面的例子中, 表达式 $var > 0 的值为 false 因为变量小于零.  因此第一个条件不成立, 开始判断第二个条件. 表达式 $var < 0 的值为 true. 这样 if 语句将会去执行第二个 J_MsgBox 行,并显示 "$var 为零!".

选择(Select) 选择语句的使用也是类似的, 但通常用于判断较多条件,这样比 If/Else 的语句往往要更清晰.

例如:
$var = 30
Select
     Case $var > 1 AND $var <= 10
         J_MsgBox("$var 大于 1")
     Case $var > 10 AND $var <= 20
         J_MsgBox("$var 大于 10")
     Case $var > 20 AND $var <= 30
         J_MsgBox("$var 大于 20")
     Case $var > 30 AND $var <= 40
         J_MsgBox("$var 大于 30")
     Case $var > 40
         J_MsgBox("$var 大于 40")
EndSelect

Switch 选择语句和 Select 非常相像,但是它主要用于测试一个变量的不同范围.请看例子:

$var = 30
Switch Int($var)
     Case 1 To 10
         J_MsgBox("$var 为 1 ~ 10的范围之间")
     Case 11 To 20
         J_MsgBox("$var 为 11 ~ 20的范围之间")
     Case 21 To 30
         J_MsgBox("$var 为 21 ~ 30的范围之间")
     Case 31 To 40
         J_MsgBox("$var 为 31 ~ 40的范围之间")
     Case Else
         J_MsgBox("$var 不在 0 ~ 40的范围里面")
EndSwitch




展开
收起
码栈 2017-01-05 15:44:49 3216 0
0 条回答
写回答
取消 提交回答
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载