Lua - for循环



for循环是一种重复控制结构,允许你高效地编写需要执行特定次数的循环。

语法

Lua编程语言中for循环的语法如下:

for init,max/min value, increment
do
   statement(s)
end

以下是for循环的控制流程:

  • init步骤首先执行,并且只执行一次。此步骤允许你声明和初始化任何循环控制变量。

  • 接下来是max/min。这是循环继续执行的最大值或最小值。它在内部创建一个条件检查,以比较初始值和最大/最小值。

  • for循环的主体执行后,控制流跳转回increment/decrement语句。此语句允许你更新任何循环控制变量。

  • 现在再次评估条件。如果为真,则循环执行,并重复此过程(循环主体,然后增量步骤,然后再次条件)。条件变为假后,for循环终止。

流程图

for loop in Lua

Java for循环示例

示例:使用for循环打印一个范围内的数字

在这个例子中,我们展示了如何使用for循环打印从10到19的数字。我们在for循环的初始化块中将变量i初始化为10。然后在表达式块中,我们检查i是否为19,最后在更新块中,我们将i加1。在for循环的主体中,我们打印i的值。for循环将运行直到i变为19。一旦i为19,循环将停止执行,程序退出。

for i = 10,19,1 
do 
   print(i) 
end

输出

当上述代码构建并执行时,它会产生以下结果:

10
11
12
13
14
15
16
17
18
19

示例:使用for循环打印数组元素

在这个例子中,我们展示了如何使用for循环打印数组的内容。这里我们创建了一个数字数组并用一些值初始化它。我们在for循环中创建了一个名为i的变量来表示数组的索引,将其与数组的大小进行比较,并将其加1。在for循环的主体中,我们使用索引表示法打印数组的元素。一旦索引与数组大小相同,for循环退出,程序结束。

numbers = {10, 20, 30, 40, 50}
for i = 1,#numbers,1 
do 
   print(numbers[i]) 
end

输出

当上述代码构建并执行时,它会产生以下结果:

10
11
12
13
14
15
16
17
18
19

示例:使用嵌套for循环打印1到10的表格

嵌套for循环是指包含另一个for循环的for循环。在这个例子中,我们打印从1到10的表格。

-- Implementing nested for loop
-- Initializing loop counters
num, i = 1, 1

local write = io.write

-- outer for loop
for num = 1, 10, 1
do
   write("Table of ",num," is : ")
   for i = 1, 10, 1
   do
      write(num * i," ")
   end
   -- print a new line
   print()
end

输出

当上述代码构建并执行时,它会产生以下结果:

Table of 1 is : 1 2 3 4 5 6 7 8 9 10 
Table of 2 is : 2 4 6 8 10 12 14 16 18 20 
Table of 3 is : 3 6 9 12 15 18 21 24 27 30 
Table of 4 is : 4 8 12 16 20 24 28 32 36 40 
Table of 5 is : 5 10 15 20 25 30 35 40 45 50 
Table of 6 is : 6 12 18 24 30 36 42 48 54 60 
Table of 7 is : 7 14 21 28 35 42 49 56 63 70 
Table of 8 is : 8 16 24 32 40 48 56 64 72 80 
Table of 9 is : 9 18 27 36 45 54 63 72 81 90 
Table of 10 is : 10 20 30 40 50 60 70 80 90 100
lua_loops.htm
广告