UH2S1L5——条件分支语句

本章代码关键字

1
2
3
if...then...end                                --单分支
if...then...else...end --双分支
if...then...elseif...then......else...end --多分支

单分支

不同语言的条件分支语句作用基本一致,无非关键字不同
在Lua中,单分支语句结构如下,条件表达式可以使用各种运算符,最终需要返回一个boolean​类型的值:

1
2
3
if 条件表达式 then
满足条件时执行的代码块
end

例子:

1
2
3
4
5
a = 9
-- 单分支 if...then...end
if a > 5 then
print("满足条件")
end
1
满足条件

双分支

在Lua中,双分支语句结构如下:

1
2
3
4
5
if 条件表达式 then
满足条件时执行的代码块
else
不满足条件时执行的代码块
end

例子:

1
2
3
4
5
6
7
a = 9
-- 双分支 if...then...else...end
if a < 5 then
print("a < 5")
else
print("a > 5")
end
1
a > 5

多分支

在Lua中,多分支语句结构如下,注意, elseif不能写成****​else if

1
2
3
4
5
6
7
8
9
10
if 条件表达式A then
满足条件A时,要执行的代码块
elseif 条件表达式B then
满足条件A时,要执行的代码块
elseif 条件表达式C then
满足条件C时,要执行的代码块
......
else
以上条件都不满足时,要执行的代码块
end

另外,Lua中没有类似于switch​这样的条件分支语句

例子:

1
2
3
4
5
6
7
8
9
10
11
a = 9
-- 多分支 if...then...elseif...then...else...end
if a < 5 then
print("a < 5")
elseif a == 6 then
print("a = 6")
elseif a == 9 then
print("a = 9")
else
print("a > 5 and a ~= 6 and a ~= 9")
end
1
a = 9