课时 3 · 运算符与表达式

课时 3 · 运算符与表达式(Lua 语言基础):熟练使用各类运算符。含可运行的示例代码、练习与验收要点,示例锁定 Lua 5.1,可在站内在线运行验证。

教程/第一部分 · Lua 语言基础更新于 2026-10-073 个小节 教程第 5 / 23 篇 Lua基础语法

本课的代码可以就地复制;点代码块右上角的「运行这段」, 会带着这段代码打开 Lua 在线运行器 并直接跑出结果 (课程示例统一按 5.1 跑;运行器里也能切到 5.3)。

本课的代码跑在 996 引擎里,用到的是服务端接口(changeexp、 SetInt 这类),在线运行器里没有这些函数。 每个函数的签名都能在 文档检索 里按名字查到原文。

本课目标

  • 熟练使用各类运算符。

知识讲解

算术运算符包括 +、-、、/、取模 %、幂 ^。本课程锁定 Lua 5.1,没有 // 这个运算符(整除是 5.3 起才加的),写成 // 会直接报语法错误;要整除用 math.floor,例如 math.floor(7/2)。关系运算符为 ==、~=、<、>、<=、>=。逻辑运算符为 and、or、not,且遵循短路求值。字符串连接用 ..,不能直接用 + 拼接字符串。运算符优先级从高到低大致为:^、一元 -、 / // %、+ -、..、比较、and、or;拿不准时用括号。

示例:运算符组合

local gold = 1000          -- 金币
local yuanbao = 10         -- 元宝
local rate = 100           -- 1 元宝 = 100 金币
local total = gold + yuanbao * rate
print(total)               -- 2000
print(math.floor(7 / 2), 7 % 2)   -- 3  1(5.1 的整除写法;// 是 5.3 才有的)
print(gold > 0 and '有钱' or '没钱')  -- 有钱

练习任务

  • 实现金币与元宝换算计算器:输入金币数与元宝数,输出换算后的总金币、总元宝和两者差值。

参考:核心思路

local gold, yb, rate = 1000, 5, 100
local total_gold = gold + yb * rate
local total_yb = yb + gold / rate
local diff = total_gold - total_yb * rate
print(total_gold, total_yb, diff)
本篇依据
  • 《996 新三端 Lua 开发教学技术手册》课时 3

参数与取值以你本机版本的官方帮助文档为准,不同版本之间有过调整。