If 如果..则
🎯功能
如果条件表达式成立,则执行对应语句。
📜语法
- If
- Else
- ElseIf
- ElseIf与Else
- 简化版
If 条件 Then
执行语句
End If
//一个If里最多只能有一个Else
If 条件 Then
执行语句1
Else
执行语句2
End If
//一个If里可以有多个ElseIf
If 条件1 Then
执行语句1
ElseIf 条件2 Then
执行语句2
End If
//一个If里Else必须放在最后面
If 条件1 Then
执行语句1
ElseIf 条件2 Then
执行语句2
Else
执行语句3
End If
//当执行语句只有一行代码时, 可以直接写在Then后面, 省略End If
If 条件 Then 一行执行语句
📥参数
参数 | 数据类型 | 解释 |
---|---|---|
条件 | 布尔值 | 任意有效的条件表达式。 |
执行语句 | 代码块 | 任意有效的代码语句块。 |
📤返回
无
💡示例
- If
- Else
- ElseIf
- ElseIf与Else
- 简化版
- 嵌套版
单个判断
Dim i
i = 0
If i = 0 Then //这里的条件是i=0
//如果i是等于0,就开始下一句代码到End If
TracePrint "条件i=0符合通过,开始执行这一部分代码。"
End If
//这里就与If无关, 正常执行代码
带Else的判断
Dim i
i = 1
If i = 0 Then //这里的条件是i=0
//如果i是等于0,就开始下一句代码到Else为止
TracePrint "条件i=0符合通过,开始执行这一部分代码。"
Else //这是否则的意思
//如果以上条件都不成立,执行Else里面的代码到End If为止
TracePrint "以上条件都不成立,开始执行这一部分代码。"
End If
//切记, 一个If结构里最多只能有一个Else
错误的Else例子
Dim i
i = 1
If i = 0 Then
TracePrint "条件i=0符合通过,开始执行这一部分代码。"
Else //错误语法
TracePrint "这上面的Else是错误语法, 一个If只能有一个Else"
Else
TracePrint "以上条件都不成立,开始执行这一部分代码。"
End If
ElseIf例子
Dim i
i = 1
If i = 0 Then //这里的条件是i=0
//如果i是等于0,就开始下一句代码到ElseIf为止
TracePrint "条件i=0符合通过,开始执行这一部分代码。"
ElseIf i = 1 Then //这里的条件是i=1
//如果i是等于1,就开始下一句代码到End If为止
TracePrint "条件i=1符合通过,开始执行这一部分代码。"
End If
多个ElseIf与一个Else
Dim i
i = 1
If i = 0 Then //这里的条件是i=0
TracePrint "执行i=0成立时的代码"
ElseIf i = 1 Then //这里的条件是i=1
TracePrint "执行i=1成立时的代码"
ElseIf i = 2 Then //这里的条件是i=2
TracePrint "执行i=2成立时的代码"
ElseIf i = 1 Then //这里的条件是i=1
// 注意, 这里i=1虽然是成立的, 但是不会执行到这里代码
// 因为一个If结构只会执行第一个成立的分支代码
// 一旦执行完毕, 后面的分支全部跳过, 直到End If
Else
TracePrint "以上条件都不成立,开始执行这一部分代码。"
End If
错误的ElseIf例子
Dim i
i = 1
If i = 0 Then
TracePrint "条件i=0符合通过,开始执行这一部分代码。"
Else //错误语法
TracePrint "这上面的Else是错误语法, 因为Else必须放在最后一个分支条件"
ElseIf i = 1 Then
TracePrint "以上条件都不成立,开始执行这一部分代码。"
End If
省略End If例子
// 当Then后面要执行的代码只有一行内容的时候
// 可以直接写在Then后面, 并省略配对的End If
Dim i
i = 0
If i = 0 Then TracePrint "条件i=0符合通过。"
错误例子
Dim i
i = 0
// 如果Then后面需要执行多行代码, 就必须要换行并加上End If
If i = 0 Then TracePrint "条件i=0符合通过。" TracePrint "多行代码就不能这样写了!" //错误语法
多个If嵌套
//多个If可以嵌套写, 每个If都是独立语句块, 都要有各自的End If作为结束
Dim i, j
i = 0
j = 1
If i = 0 Then
TracePrint "条件i=0符合通过。"
If j = 0 Then
TracePrint "j=0条件成立"
End If // 这个对应第7行的If
End If // 这个对应第5行的If
📘备注
- If判断相当于我们口语中说的如果……则……否则如果……则……否则……。
- 一个If判断必须要有一个End If来配对,里面的ElseIf可以有多个,但是Else最多只能有一个,并且Else只能放在最后一个条件上。
- Select Case语句与If语句类似,但是两者也有区别。If主要用于多个不同条件的判断,而Select Case则是用于同一个条件多个不同结果的判断。