首页 > 代码库 > 第四篇:控制语句
第四篇:控制语句
控制语句有三种
-
分支语句:if
-
循环语句:while 、repeat 、for
-
与程序转移有关的跳转语句:break 、 return
-
分支语句
--if结构
if 表达式 then
语句块(在表达式为真的时候得到执行)
end
--if else结构
if 表达式 then
语句块(在表达式为真的时候得到执行)
else
语句块(在表达式为假的时候得到执行)
end
--if elseif 结构
if 表达式一 then
语句块(在表达式一为真的时候得到执行)
elseif 表达式二 then
语句块(在表达式一为假 而且表达式二为真的时候得到执行)
else
语句块(在表达式一、二都为假的时候执行)
end
-
循环语句
-
while
-
先判断在循环
初始化语句
while 表达式 do
语句块(表达式为真则执行)
迭代语句 (用于改变循环变量)
end
i = 1 –-初始化语句
while i*i <100 do
print(i) –-语句块
i=i+i --迭代语句
end
--以下为输出结果
1
2
4
8
2.repeat
先执行在判断(类似于java中的do while)
初始化语句
repeat
语句块
迭代语句
until 表达式
i = 1 --初始化语句
repeat
print(i) --语句块
i=i+i --迭代语句
until i*i>100 --表达式为真则退出循环
典型for语句
for var=exp1,exp2,exp3 do
body
end
var为循环变量
exp1为初始值
exp2为末值
exp3为增长量(可忽略,默认为1)
for i=1 , 10 , 2 do
print (i)
end
--以下是输出结果
1
3
5
7
9
迭代 for-in 语句
迭代语句可以很好的帮我们遍历数组(table类型)
ipairs 遍历从1 开始直到为 nil 的i的整数值
比如 arr={[1]="hello",[3]="world"}
那么只能遍历出1的值
pairs 遍历所有值
for i,v in ipairs(a) do
body
end
local arr={Hello="Wolrd",[1]=11,[2]=12,[4]=13}
for key, var in ipairs(arr) do
print(key.." : "..var)
end
--结果值
1 : 11
2 : 12
强行退出循环结构,不执行循环结构中的剩下的语句
for i=1,10,3 do
if(i%2==0) then
break
end
print(i)
end
return 语句可以从当前的函数中退出,返回到调用该函数的语句处
返回语句有两种格式
return expression --可以返回带参数
return --可以直接返回
第四篇:控制语句