在 Lua 中,运算符用于执行基本的数学和逻辑操作。以下是 Lua 中常用的运算符分类及其用法:
1. 算术运算符
算术运算符用于执行基本的数学运算,如加法、减法、乘法、除法等。
+
加法-
减法*
乘法/
除法^
幂运算%
取模(求余)
示例
local a = 10
local b = 5
print(a + b) -- 输出 15
print(a - b) -- 输出 5
print(a * b) -- 输出 50
print(a / b) -- 输出 2
print(a ^ 2) -- 输出 100
print(a % b) -- 输出 0
2. 比较运算符
比较运算符用于比较两个值,并返回布尔结果。
==
相等~=
不相等<
小于>
大于<=
小于等于>=
大于等于
示例
local x = 10
local y = 5
print(x == y) -- 输出 false
print(x > y) -- 输出 true
print(x < y) -- 输出 false
print(x >= y) -- 输出 true
print(x <= y) -- 输出 false
print(x ~= y) -- 输出 true
3. 逻辑运算符
逻辑运算符用于组合布尔表达式。
and
逻辑与or
逻辑或not
逻辑非
示例
local x = true
local y = false
print(x and y) -- 输出 false
print(x or y) -- 输出 true
print(not x) -- 输出 false
4. 位运算符
位运算符用于执行位级别的操作。
~
按位取反&
按位与|
按位或~
按位异或<<
左移>>
右移
示例
local a = 10 -- 二进制: 1010
local b = 5 -- 二进制: 0101
print(a & b) -- 输出 0 (二进制: 0000)
print(a | b) -- 输出 15 (二进制: 1111)
print(a ~ b) -- 输出 15 (二进制: 1111)
print(~a) -- 输出 -11 (二进制: ...11011)
print(a << 2) -- 输出 40 (二进制: 101000)
print(a >> 1) -- 输出 5 (二进制: 0101)
5. 字符串运算符
字符串运算符用于操作字符串。
..
字符串连接
示例
local str1 = "Hello, "
local str2 = "world!"
local fullStr = str1 .. str2
print(fullStr) -- 输出 "Hello, world!"
6. 表运算符
表运算符用于操作表。
#
表长度(数组形式的表)
示例
local t = {1, 2, 3, 4, 5}
print(#t) -- 输出 5
运算符优先级
Lua 中的运算符具有一定的优先级,这决定了它们的执行顺序。以下是一些常见运算符的优先级顺序(从高到低):
^
(幂运算)not
,#
(逻辑非、表长度)*
,/
,%
(乘法、除法、取模)+
,-
(加法、减法)<<
,>>
(位移)&
(按位与)~
(按位异或)|
(按位或)<
,<=
,>
,>=
(比较)==
,~=
(相等性比较)and
(逻辑与)or
(逻辑或)..
(字符串连接)
示例:使用运算符进行数学计算
下面是一个简单的示例,演示了如何使用 Lua 中的运算符来计算一个简单的数学表达式。
local a = 10
local b = 5
local c = 2
local result = (a + b) * c / (a - b)
print(result) -- 输出 7
这些是 Lua 中常用的运算符及其用法。如果您需要更详细的解释或有其他问题,请随时提问!