【Lua基础学习】---Lua运算符

运算符

算术运算符

操作符描述
+加法
-剪法
*乘法
/除法
%取余
^幂运算

例:

a = 10
b = 20

c = a + b
print("a + b = ", c)

c = a - b
print("a - b = ", c)

c = a * b
print("a * b = ", c)

c = a / b
print("a / b = ", c)

c = a % b
print("a % b = ", c)

c = a ^ 2
print("a ^ b = ", c)

c = -a
print("c = ", c)

输出结果:

a + b =     30
a - b =     -10
a * b =     200
a / b =     0.5
a % b =     10
a ^ b =     100
c =     -10
注意
Lua 中的加号不能用作字符串相连操作,而字符串相连操作是用” .. “。
在 Lua 中也不能使用 ++或 - -,若要在自身加一或减一使用本身减一或加一。如:A = A + 1 、 B = B - 1。

关系运算符

运算符描述
>大于
<小于
>=大于等于
<=小于等于
==等于
~=不等于

例:

a = 10
b = 20
print("a > b",a > b)
print("a < b",a < b)
print("a >= b", a >= b)
print("a <= b", a <= b)
print("a == b", a == b)
print("a ~= b", a ~= b)

输出结果:

a > b   false
a < b   true
a >= b  false
a <= b  true
a == b  false
a ~= b true

注意:强调:加冕知识点:
: 在Lua中只有 false 和 nil被视为假。其他都视为真。和 C# 有很大区别。


逻辑运算符

lua 中的逻辑运算符和 C# 表达表达方式不同。其意义相同。

操作符描述
and逻辑与
or逻辑或
not逻辑非

例:

a = true
b = false
a = true
b = false
print("a and b = ", a and b)--逻辑与操作符。若 a 为 fakse,则返回 a,否则返回b.
print("a or b = ", a or b) -- 若 atrue, 则返回 a,否则返回 b.
print("not a = ", not a)--如果条件为 true,返回 false

输出结果:

a and b =   false
a or b =    true
not a =     false
使用技巧:
            如果 x 为 false 或者 nil 则给 x 赋初始值 v
            x = x or v
            等价于
            if(not x)
            then
                x = v
            end

lua中的三目运算:

三目运算符:
            在 Lua 中没有三目运算,可以用 and 和 or 模拟。
            a and b or c  这种写法当 b 为 false 始终返回 c,也就是说 b 不能为 false 和 nil。
            两种方式避免这种情况 
            1、使用 if-else避免。
            2、使用 table 表: (a and {b} or {c})[1]
操作符描述
..连接两个字符串
#返回字符串或表的长度

# 使用注意:
1、只有当键值是连续的数值键值时, 返回值才是有意义的。
2、当 table 中, 存在 nil 时, # 返回的数值也是无意义的。
只有当 table 的键值是连续数值时, # 返回值才是有意义的。 如果在 table 中,
存在非数值键值, 或者 nil时,其 table 并不是一个序列, 因此# table并未定义,
其返回值就无意义, 也就是说 #table 值可能在不同的平台上, 返回值不一样。

优先级顺序

                        优先级顺序
                        ^
                        not  #   - (一元)
                        *   /   %
                        + -
                        ..
                        >  <  <=  >=  ~=  ==
                        and
                        or
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值