vs/eclipse/xcode:继承开发环境(IDE) vsCode/notepad/sublime:文本编辑器
语句:条件语句/循环语句/转移语句
条件语句:if语句(没有switch语句)
-- 语法:
--if 条件1 then
-- 语句1
--elseif 条件2 then --elseif可以有多个
-- 语句2
--else
-- 语句3
--end
-- 创建随机种子
math.randomseed(os.time())
local num = math.random(1, 99) -- 随机1-99的数
print(num)
-- 判断num是奇数还是偶数
if num % 2 == 1 then
print("num:" .. num .. ",为奇数")
else
print("num:" .. num .. ",为偶数")
end
local a = nil
--判断a是否为假
if not a then
print("a为假")
end
local lv = 1
local exp = 100
--判断等级大于等于5且经验值大于等于500,升级(等级 * 10)
if lv >= 5 and exp >= 500 then
exp = exp - lv * 10
lv = lv + 1;
end
转移语句:break(跳出当前这一层循环)
循环语句:
数字型for
语法:
表达式1:循环变量的初始值
表达式2:循环变量的结束值(只计算1次)
表达式3:步长(可省略,默认为1)
for 循环变量 = 表达式1,达式2,表达式3 do
循环体
end
--打印1-10
for i = 1,10,1 do
print(i)
end
local n = 10
for i = 1,n,1 do
n = n - 1
print(n)
end
-- 打印10 - 1
for i = 10, 1, -1 do
print(i)
end
-- 打印数组:数组的下标从1开始
local tb= {11,22,33,44,55}
for i = 1,#tb,1 do
print(tb[i])
end
-- 实现9 * 9 乘法表
for i = 1,9,1 do
str = ""
for j = 1,i,1 do
str = str .. j .. "*" .. i .. "=" .. string.format("%-2d", i*j) .. " "
end
print(str)
end
while循环:
while 条件 do
循环体
end
repeat .. until (重复 .. 直到)
repeat
循环体
until 条件 -- 当条件为真时,跳出循环
作业:
- 抄笔记
- 求一个整数的逆序数 1234 - 4321
- 求1 - 1/2 + 2/3 - 3/4 + ...前n项的结果
- 求斐波那契数列的第n项
- 实现冒泡排序和插入排序
求一个整数的逆序数 1234 - 4321
function getReverseNum(n)
ans = 0
while n > 0 do
ans = ans * 10 + n % 10
n = math.floor(n / 10)
end
return ans
end
求1 - 1/2 + 2/3 - 3/4 + ...前n项的结果
function getFunc(n)
ans = 0
f1,f2 = 1,1
flag = 1
while n > 0 do
ans = ans + (f1 / f2 * flag)
f1 = f2
f2 = f2 + 1
flag = flag * -1
n = n - 1
end
return ans
end
求斐波那契数列的第n项
function Fibonacci(n)
if n == 1 or n == 2 then
return 1
end
return Fibonacci(n-1) + Fibonacci(n-2)
end
冒泡排序和插入排序
local arr = {1, 6, 3, 9, 2, 5}
function bubbleSort(arr)
for i = 1,#arr do
for j = 1,#arr - i do
if arr[j] > arr[j+1] then
arr[j],arr[j+1] = arr[j+1],arr[j]
end
end
end
end
function insertSort(arr)
for i = 2,#arr do
temp = arr[i]
j = i
while (j > 1) and (arr[j - 1] > temp) do
arr[j] = arr[j - 1]
j = j - 1;
end
arr[j] = temp
end
end
insertSort(arr)
s = ""
for i = 1, #arr do
s = s .. arr[i] .. " "
end
print(s)