-- 算术运算符
-- 关系运算符
-- 逻辑运算符
-- 其他运算符

-- + 加法
-- - 减法
-- * 乘法
-- / 除法
-- % 取余
-- ^ 乘幂
-- - 负号

a = 21
b = 10
c = a + b
print("Line 1 - c 的值为",c)
c = a - b
print("Line 2 - c 的值为",c)
c = a * b
print("Line 3 - c 的值为",c)
c = a / b
print("Line 4 - c 的值为",c)
c = a % b
print("Line 5 - c 的值为",c)
c = a^2
print("Line 6 - c 的值为",c)
c = -a
print("Line 7 - c 的值为",c)

-- 关系运算符

-- == 等于
-- ~= 不等于
-- >  大于
-- <  小于
-- >= 大于等于
-- <= 小于等于

a = 21
b = 10

if(a == b)
then
    print("1 a 等于 b")
else
    print("1 a 不等于 b")
end

if(a ~= b)
then
    print("2 a 不等于 b")
else
    print("2 a 等于 b")
end

if (a < b)
then
    print("3 a 小于 b")
else
    print("3 a 不小于b")
end

if (a > b)
then
    print("4 a 大于 b")
else
    print("4 a 不大于 b")
end

a = 5
b = 20
if (a <= b)
then
    print("5 a 小于等于 b")
end

if ( b >= a )
then
   print("6 - b 大于等于 a" )
end

-- 逻辑运算符

-- and 逻辑与操作符
-- or 逻辑或操作符
-- not 逻辑非操作符 

a = true
b = true

if ( a and b)
then
    print("a and b - 条件为true")
end

if ( a or b)
then
    print("a or b - 条件为true")
end

print("-------------分割线-------------")

a = false
b = true

if ( a and b)
then
    print(" a and b - 条件为true")
else
    print("a and b - 条件为false")
end

if ( not (a and b) )
then
    print("not (a and b) -条件为true")
else 
    print("not (a and b) - 条件为false")
end

-- 其他运算符

-- .. 连接两个字符串
-- # 一元运算符,返回字符串长度或者表的长度

a = "hello"
b = "world"

print("连接字符串 a 和 b",a..b)
print("b字符串长度",#b)

print("字符串Test长度",#"Test")

print("用友网站长度",#"www.yonyou.com")

-- 运算符优先级
-- 从高到低的顺序
--[[
^
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

e = (a + b) * c / d;-- ( 30 * 15 ) / 5
print("(a + b) * c / d 运算值为  :",e )

e = ((a + b) * c) / d; -- (30 * 15 ) / 5
print("((a + b) * c) / d 运算值为 :",e )

e = (a + b) * (c / d);-- (30) * (15/5)
print("(a + b) * (c / d) 运算值为 :",e )

e = a + (b * c) / d;  -- 20 + (150/5)
print("a + (b * c) / d 运算值为   :",e )