首页 > 资讯 > > 内容

select case语句(select case用法)_世界快看点

发表时间:2023-07-02 20:56:49 来源:互联网
导读 来为大家解答以上的问题。select case语句,select case用法这个很多人还不知道,现在让我们一起来看看吧!1、语法Select Cas...

1、语法Select Case <指示变量或表达式><默认语句组,以上语句组都因情形不符合实际时执行>End Select其中,表述情形的关键字,有IS和TO,多个情形要并列在一起时,使用逗号(英文)连接。

2、当省略Case Else语句并且语句组都因情形不符合实际时,语句的执行,会直接到达End Select。


(资料图片)

3、如果在执行语句的时候,有需要跳过没有必要再执行的语句而直接结束Select Case的情况时,请使用exit select。

4、注意在“<指示变量或表达式>”不是True或False关键字时,逻辑运算(And、Or、Not)会没有意义。

5、因为逻辑运算的结果是True或False,不是表述具体情况的值或者范围。

6、需要比较大小时,请使用IS、To关键字。

7、以上为了给出一个能够通用的语法而如此表述。

8、在“<指示变量或表达式>”是True或False关键字时,Is、To关键字没有意义。

9、以上两种情况,切记不要搞混。

10、嵌套各语句组中也可以写入完整的Select Case语句,像For循环中嵌套一个二级循环一样。

11、别误会,Select Case不是循环语句,是条件选择语句,与IF...ELSEIF...ELSEIF...END IF类似。

12、基本用法Private Sub main()Select Case InputBox("请输入你希望的天气,从晴天、多云、阴天、阵雨、小雨、小雪、冰雹中选一个填入。

13、", "请输入你希望的天气", "晴天")Case "晴天"MsgBox "哇哦!你喜欢的是晴天啊,祝你天天好心“晴”~!"Case "多云"MsgBox "喜欢多云的天气,是因为比较怕紫外线吗?"Case "阴天"MsgBox "为什么喜欢阴天呢?真令人好奇啊~!"Case "阵雨"MsgBox "为什么喜欢阵雨天呢?真令人好奇啊~!"Case "小雨"MsgBox "为什么喜欢小雨天呢?真令人好奇啊~!"Case "小雪"MsgBox "为什么喜欢小雪天呢?真令人好奇啊~!"Case "冰雹"MsgBox "为什么喜欢冰雹天呢?真令人好奇啊~!"Case ElseMsgBox "不可以酱紫!只能从我给出的几种中挑选一个填入!"End SelectEnd Sub使用关键字ISPrivate Sub main()Select Case Day(Now)Case Is <= 10MsgBox "目前是本月上旬!"Case Is > 20MsgBox "目前是本月下旬!"Case ElseMsgBox "目前是本月中旬!"End SelectEnd Sub<以上代码在VB6.0测试通过>使用关键字TOPrivate Sub main()Select Case Weekday(Now)Case 1, 7MsgBox "今天是周末!"Case 2 To 6MsgBox "今天不是周末!"End SelectEnd Sub<以上代码在VB6.0测试通过>关键字IS和TO可以根据需要,在同一条情形中一起使用,例如Case Is<=5,8 to 10,Is>20不过要注意的是,TO表示的区间,是闭区间,不适用于开区间(或半闭半开区间)。

14、如果一定要用select Case来确定数值在哪个区间内,可以这么做:Private Sub main()On Error GoTo errDim num As Singlenum = InputBox("请输入!")Select Case numCase Is <= 1MsgBox "这个数不大于1"Case Is < 3MsgBox "这个数在1和3之间的开区间内"Case Is < 5MsgBox "这个数在3和5之间的半闭半开区间内"Case Is <= 7MsgBox "这个数在5和7之间的闭区间内"Case Is > 7MsgBox "这个数大于7"End SelectExit Suberr:MsgBox "这个不是可比较的数字"End Sub此时,各Case不能随便对换顺序。

15、虽然这个可以达到我们想要的效果,却因为不够严谨,让我忧心忡忡。

16、那么什么是最严谨的呢?请看高级用法。

17、高级用法语法(这里只是为了更好的理解,稍稍变一下表述,不改变实意。

18、)Select Case trueCase <逻辑运算表达式1><语句组1>Case <逻辑运算表达式2><语句组2>....Case <逻辑运算表达式n><语句组n>Case Else<默认语句组,当以上任何逻辑运算都为False时执行>End Select在此语法下,Is、To关键字没有意义,Is的值为true(Is是变量吗?这个问题真的好让人回味啊)只要逻辑运算表达式的运算结果为true,就执行该Case下的语句组。

19、那么,上面的例子就这么改。

20、Private Sub main()On Error GoTo errDim num As Singlenum = InputBox("请输入!")Select Case TrueCase num >= 5 And num <= 7MsgBox "这个数在5和7之间的闭区间内"Case num < 3 And num > 1MsgBox "这个数在1和3之间的开区间内"Case num > 7MsgBox "这个数大于7"Case num < 5 And num >= 3MsgBox "这个数在3和5之间的半闭半开区间内"End SelectExit Suberr:MsgBox "这个不是可比较的数字"End Sub可以看到,顺序被我随意变动了,测试也通过了。

21、那么,爱琢磨的我,又发现一个问题:Select Case True可以改成Select Case False吗?答案是,可以。

22、这里就不作示例了,只给出语法Select Case FalseCase <逻辑运算表达式1><语句组1>Case <逻辑运算表达式2><语句组2>....Case <逻辑运算表达式n><语句组n>Case Else<默认语句组,当以上任何逻辑运算都为true时执行>End Select只要逻辑运算表达式的运算结果为False,就执行该Case下的语句组。

本文到此分享完毕,希望对大家有所帮助。

标签:

Copyright ©  2015-2023 京津冀产业网版权所有  备案号:京ICP备2022022245号-12   联系邮箱:434 922 62 @qq.com