- Lua 教程
- Lua - 首页
- Lua 基础
- Lua - 概述
- Lua - 环境
- Lua - 基本语法
- Lua - 注释
- Lua - 打印 Hello World
- Lua - 变量
- Lua - 数据类型
- Lua - 运算符
- Lua - 循环
- Lua - 决策语句
- Lua - 函数
- Lua - 日期和时间
- Lua 数组
- Lua - 数组
- Lua - 多维数组
- Lua - 数组长度
- Lua - 迭代数组
- Lua 迭代器
- Lua - 迭代器
- Lua 列表
- Lua - 在列表中搜索
- Lua 模块
- Lua - 模块
- Lua - 命名空间
- Lua 元表
- Lua - 元表
- Lua 协程
- Lua - 协程
- Lua 文件处理
- Lua - 文件 I/O
- Lua 库
- Lua - 标准库
- Lua - 数学库
- Lua - 操作系统功能
- Lua 有用资源
- Lua - 快速指南
- Lua - 有用资源
- Lua - 讨论
Lua 运算符优先级
运算符优先级决定了表达式中项的分组方式。这会影响表达式的求值方式。某些运算符比其他运算符具有更高的优先级;例如,乘法运算符的优先级高于加法运算符。
例如,x = 7 + 3 * 2; 此处 x 的值为 13,而不是 20,因为 * 运算符的优先级高于 +,所以它先计算 3*2,然后再加上 7。
这里,优先级最高的运算符出现在表的上方,优先级最低的出现在下方。在表达式中,优先级高的运算符将首先被求值。
类别 | 运算符 | 结合性 |
---|---|---|
一元 | not # - | 右到左 |
连接 | .. | 右到左 |
乘法 | * / % | 左到右 |
加法 | + - | 左到右 |
关系 | < > <= >= == ~= | 左到右 |
相等性 | == ~= | 左到右 |
逻辑与 | and | 左到右 |
逻辑或 | or | 左到右 |
示例
在这个例子中,我们创建了三个变量 a、b 和 c,并编写了一个算术语句来检查运算符优先级。
a = 20 b = 10 c = 15 -- a + b * c == a + 150 == 20 + 150 = 170 result = a + b * c print("a + b * c", result)
输出
构建并执行上述程序后,将产生以下结果:
a + b * c 170
示例
在这个例子中,我们创建了三个变量 a、b 和 c,并编写了一个逻辑语句来检查运算符优先级。
a = 20 b = 10 c = 15 -- a > b and a > c == true and true == true result = a > b and a > c print("a > b and a > c ", result)
输出
构建并执行上述程序后,将产生以下结果:
a + b * c 170
示例
在这个例子中,我们创建了三个变量 a、b 和 c,并在逻辑与语句之前编写了一个一元语句来检查运算符优先级。
a = false b = true -- not a == true -- not a and b == true and true == true result = not a and b print("not a and b ", result)
输出
构建并执行上述程序后,将产生以下结果:
not a and b true
lua_operators.htm
广告