在 Lua 编程中,控制结构是非常重要的一部分,它能够帮助我们更好地管理程序的执行流程。break
和 continue
语句就是控制结构中两个重要的工具,它们可以让我们在循环中灵活地控制代码的执行。接下来,我们将详细介绍这两个语句的使用方法和应用场景。
break
语句break
语句用于立即终止当前所在的循环(for
、while
或 repeat-until
循环),并跳出该循环体,继续执行循环之后的代码。
-- 使用 for 循环演示 break 语句
for i = 1, 10 do
if i == 5 then
print("遇到 i = 5,执行 break 跳出循环")
break
end
print("当前 i 的值是:", i)
end
print("循环结束,继续执行后续代码")
-- 使用 while 循环演示 break 语句
local j = 1
while j <= 10 do
if j == 7 then
print("遇到 j = 7,执行 break 跳出循环")
break
end
print("当前 j 的值是:", j)
j = j + 1
end
print("循环结束,继续执行后续代码")
-- 使用 repeat-until 循环演示 break 语句
local k = 1
repeat
if k == 3 then
print("遇到 k = 3,执行 break 跳出循环")
break
end
print("当前 k 的值是:", k)
k = k + 1
until k > 10
print("循环结束,继续执行后续代码")
for
循环:当 i
的值等于 5 时,执行 break
语句,立即跳出 for
循环,后续的循环不再执行,直接执行循环之后的代码。while
循环:当 j
的值等于 7 时,执行 break
语句,跳出 while
循环,继续执行后续代码。repeat-until
循环:当 k
的值等于 3 时,执行 break
语句,跳出 repeat-until
循环,执行后续代码。continue
语句Lua 语言本身并没有直接提供 continue
语句,但我们可以通过 if
语句和 goto
语句来模拟 continue
的功能。continue
的作用是跳过当前循环体中剩余的代码,直接进入下一次循环。
-- 使用 for 循环模拟 continue 语句
for i = 1, 10 do
if i % 2 == 0 then
-- 当 i 是偶数时,跳过本次循环的剩余代码,直接进入下一次循环
goto continue
end
print("当前 i 的值是:", i)
::continue::
end
print("循环结束,继续执行后续代码")
-- 使用 while 循环模拟 continue 语句
local j = 1
while j <= 10 do
if j % 3 == 0 then
j = j + 1
goto continue
end
print("当前 j 的值是:", j)
j = j + 1
::continue::
end
print("循环结束,继续执行后续代码")
for
循环:当 i
是偶数时,使用 goto continue
语句跳转到标签 ::continue::
处,跳过本次循环中 print
语句的执行,直接进入下一次循环。while
循环:当 j
是 3 的倍数时,先将 j
的值加 1,然后使用 goto continue
语句跳转到标签 ::continue::
处,跳过本次循环中 print
语句的执行,继续下一次循环。语句 | 功能 | 适用循环 | 示例代码 |
---|---|---|---|
break |
立即终止当前所在的循环,并跳出循环体,执行循环之后的代码 | for 、while 、repeat-until |
if condition then break end |
continue (模拟) |
跳过当前循环体中剩余的代码,直接进入下一次循环 | for 、while |
if condition then goto continue end ... ::continue:: |
通过合理使用 break
和 continue
语句,我们可以更加灵活地控制循环的执行流程,提高代码的效率和可读性。希望本文对你理解 Lua 中的 break
和 continue
语句有所帮助。