Appearance
运算符
运算符是 Lua 中用于执行各种操作的符号。本章节将介绍 Lua 中的各种运算符及其使用方法。
算术运算符
| 运算符 | 描述 | 示例 |
|---|---|---|
| + | 加法 | 10 + 5 = 15 |
| - | 减法 | 10 - 5 = 5 |
| * | 乘法 | 10 * 5 = 50 |
| / | 除法 | 10 / 5 = 2 |
| % | 取模 | 10 % 3 = 1 |
| ^ | 幂运算 | 2 ^ 3 = 8 |
lua
local a = 10
local b = 5
print(a + b) -- 输出 15
print(a - b) -- 输出 5
print(a * b) -- 输出 50
print(a / b) -- 输出 2
print(a % b) -- 输出 0
print(a ^ b) -- 输出 100000比较运算符
| 运算符 | 描述 | 示例 |
|---|---|---|
| == | 等于 | 10 == 5 → false |
| ~= | 不等于 | 10 ~= 5 → true |
| > | 大于 | 10 > 5 → true |
| < | 小于 | 10 < 5 → false |
| >= | 大于等于 | 10 >= 5 → true |
| <= | 小于等于 | 10 <= 5 → false |
lua
local a = 10
local b = 5
print(a == b) -- 输出 false
print(a ~= b) -- 输出 true
print(a > b) -- 输出 true
print(a < b) -- 输出 false
print(a >= b) -- 输出 true
print(a <= b) -- 输出 false逻辑运算符
| 运算符 | 描述 | 示例 |
|---|---|---|
| and | 逻辑与 | true and false → false |
| or | 逻辑或 | true or false → true |
| not | 逻辑非 | not true → false |
lua
local a = true
local b = false
print(a and b) -- 输出 false
print(a or b) -- 输出 true
print(not a) -- 输出 false
print(not b) -- 输出 true字符串连接运算符
使用 .. 运算符连接字符串:
lua
local str1 = "Hello"
local str2 = "World"
local str3 = str1 .. " " .. str2
print(str3) -- 输出 Hello World长度运算符
使用 # 运算符获取字符串或表的长度:
lua
-- 字符串长度
local str = "Hello"
print(#str) -- 输出 5
-- 表长度
local t = {1, 2, 3, 4, 5}
print(#t) -- 输出 5赋值运算符
| 运算符 | 描述 | 示例 |
|---|---|---|
| = | 赋值 | a = 10 |
| += | 加赋值 | a += 5 → a = a + 5 |
| -= | 减赋值 | a -= 5 → a = a - 5 |
| *= | 乘赋值 | a *= 5 → a = a * 5 |
| /= | 除赋值 | a /= 5 → a = a / 5 |
| %= | 取模赋值 | a %= 5 → a = a % 5 |
| ^= | 幂赋值 | a ^= 5 → a = a ^ 5 |
| ..= | 字符串连接赋值 | a ..= "World" → a = a .. "World" |
lua
local a = 10
a += 5
print(a) -- 输出 15
a -= 5
print(a) -- 输出 10
a *= 5
print(a) -- 输出 50
a /= 5
print(a) -- 输出 10
a %= 3
print(a) -- 输出 1
a ^= 2
print(a) -- 输出 1
local b = "Hello"
b ..= " World"
print(b) -- 输出 Hello World运算符优先级
Lua 中运算符的优先级从高到低排列如下:
- ^ (幂运算)
- not, #, - (一元运算符)
- *, /, % (乘法、除法、取模)
- +, - (加法、减法)
- .. (字符串连接)
- <, >, <=, >=, ~=, == (比较运算符)
- and
- or
使用括号可以改变运算顺序:
lua
local a = 10 + 5 * 2
print(a) -- 输出 20,因为乘法优先级高于加法
local b = (10 + 5) * 2
print(b) -- 输出 30,因为括号改变了运算顺序运算符的应用
示例 1:计算圆的面积
lua
local radius = 5
local area = math.pi * radius ^ 2
print(area) -- 输出 78.539816339745示例 2:判断奇偶性
lua
local num = 10
if num % 2 == 0 then
print("偶数")
else
print("奇数")
end示例 3:字符串连接
lua
local name = "张三"
local age = 30
local info = "姓名:" .. name .. ",年龄:" .. age
print(info) -- 输出 姓名:张三,年龄:30示例 4:逻辑运算
lua
local score = 85
local attendance = 90
if score >= 60 and attendance >= 80 then
print("及格")
else
print("不及格")
end小结
本章节介绍了 Lua 中的各种运算符,包括算术运算符、比较运算符、逻辑运算符、字符串连接运算符、长度运算符和赋值运算符,以及它们的优先级。掌握这些运算符,对于编写 Lua 程序非常重要。