8.循环语句
8.1 知识点
while语句
while语句语法:
while 进入循环的条件 do
-- 循环体
end
num = 0
while num < 5 do
print(num) -- 0 1 2 3 4
num = num + 1
end
while 是先判断条件,再决定要不要执行循环体。条件一开始就不成立时,循环体一次都不会执行。
repeat语句
repeat语句语法:
repeat
-- 循环体
until 退出循环的条件
num = 0
repeat
print(num) -- 0 1 2 3 4 5
num = num + 1
until num > 5 -- num 大于 5 时退出循环
repeat 和 while 最大的区别是:repeat 会先执行一次循环体,再判断退出条件。
这里的 until num > 5 表示:当 num > 5 成立时退出循环。这个点和 C# 的 do...while 容易混,C# 是条件成立继续循环,Lua 的 repeat...until 是条件成立退出循环。
for语句
for语句语法:
for 变量 = 初始值, 终止值, 步长(可选,不写默认步长是 1) do
-- 循环体
end
- 注意:
- 如果初始值小于等于终止值,并且步长为正数(默认为 1),循环会从初始值递增到终止值。
- 如果初始值大于等于终止值,并且步长为负数,循环会从初始值递减到终止值。
- 如果初始值、终止值、步长方向对不上,循环体就不会执行。
- Lua 的数值
for会包含终止值。比如for i = 2, 5 do会打印2 3 4 5。
for i = 2, 5 do -- 默认递增,i 每次循环默认 +1,直到 i 走到 5
print(i) -- 2 3 4 5
end
for i = 1, 5, 2 do -- i 每次循环 +2
print(i) -- 1 3 5
end
for i = 5, 1, -1 do -- i 每次循环 -1
print(i) -- 5 4 3 2 1
end
8.2 知识点代码
Lesson8_循环语句.lua
print("**********循环语句************")
print("**********知识点一 while语句************")
-- while 语句语法:
-- while 进入循环的条件 do
-- 循环体
-- end
-- while 是先判断条件,再决定要不要执行循环体
num = 0
while num < 5 do
print(num) -- 0 1 2 3 4
num = num + 1
end
print("**********知识点二 repeat语句************")
-- repeat 语句语法:
-- repeat
-- 循环体
-- until 退出循环的条件
-- repeat 会先执行一次循环体,再判断退出条件
num = 0
repeat
print(num) -- 0 1 2 3 4 5
num = num + 1
until num > 5 -- num 大于 5 时退出循环
-- 这个点和 C# 的 do...while 容易混
-- C# 是条件成立继续循环
-- Lua 的 repeat...until 是条件成立退出循环
print("**********知识点三 for语句************")
-- for 语句语法:
-- for 变量 = 初始值, 终止值, 步长(可选,不写默认步长是 1) do
-- 循环体
-- end
-- 注意:
-- 如果初始值小于等于终止值,并且步长为正数(默认为 1),循环会从初始值递增到终止值
-- 如果初始值大于等于终止值,并且步长为负数,循环会从初始值递减到终止值
-- 如果初始值、终止值、步长方向对不上,循环体就不会执行
-- Lua 的数值 for 会包含终止值
for i = 2, 5 do -- 默认递增,i 每次循环默认 +1,直到 i 走到 5
print(i) -- 2 3 4 5
end
for i = 1, 5, 2 do -- i 每次循环 +2
print(i) -- 1 3 5
end
for i = 5, 1, -1 do -- i 每次循环 -1
print(i) -- 5 4 3 2 1
end
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 785293209@qq.com