Lua_运算符(8)

本文详细介绍了Lua语言中的运算符,包括算术运算符、关系运算符、逻辑运算符、其它运算符如字符串拼接及运算符优先级。通过实例展示了如何使用这些运算符,并解释了运算符的结合性和优先级规则,帮助读者理解并掌握Lua中的基本操作。
摘要由CSDN通过智能技术生成


码云代码链接
https://gitee.com/wenwenc9/lua_pro.git

一、运算符

1 算术运算符

在这里插入图片描述

a = 21
b = 10
print(a + b)  -- 31
print(a - b)  -- 11
print(a * b) -- 210
print(a / b) -- 2.1
print(a % b) -- 1 
print(a ^ b) -- 16679880978201
print(-a) -- 21

2 关系运算符

在这里插入图片描述

a = 21
b = 10
print(a == b)
print(a ~= b)
print(a > b)
print(a < b)
print(a >= b)
print(a <= b)

3 逻辑运算符

在这里插入图片描述

a and b
-- 如果 a 为 false,则返回 a,否则返回 b
a or b -- 如果 a 为 true,则返回 a,否则返回 b

C 语言中的三元运算符

a ? b : c 

在 Lua 中可以这样实现:(lua中没有三目运算符)

(a and b) or c
a = 21
b = 10
print(a and b)
print(a or b)
print(not a)

4 其它运算符

字符串拼接:

..

打印字符串长度

#
print('1' .. 1)
print('a'.. 'b')
print('1' .. '2')
print(#'abc')

5 运算符优先级

从高到低的顺序:

^
not    - (unary)
*      /
+      -
..
<      >      <=     >=     ~=     ==
and
or

除了^和…外所有的二元运算符都是左连接的

a+i < b/2+1          <-->       (a+i) < ((b/2)+1)
5+x^2*8              <-->       5+((x^2)*8)
a < y and y <= z     <-->       (a < y) and (y <= z)
-x^2                 <-->       -(x^2)
x^y^z                <-->       x^(y^z)

例子

a = 20
b = 10
c = 15
d = 5

result = (a + b) * c / d
print(result) -- 90

result = ((a + b) * c) / d
print(result) -- 90

result = (a + b) * (c / d)
print(result) -- 90

result = a + (b * c) / d
print(result) -- 50
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值