当前位置 博文首页 > Lua基础之运算符的使用示例

    Lua基础之运算符的使用示例

    作者:Engineer-Bruce_Yang 时间:2021-01-31 21:07

    众所周知,C,C++,python等语言都有运算符,那么Lua也不例外,因为它是C写的嘛!

    Lua分为主要三类运算符,分别是算术运算符,关系运算符,逻辑运算符,还有特殊运算符。

    1、算术运算符有: + (加)   -(减)   *(乘)  /(除)   %(取模)   ^(求幂)   -(符号)

    来看一个例子:test6.lua

    num1 = 4 ;
    num2 = 2 ;
    print(num1+num2);
    print(num1-num2);
    print(num1*num2);
    print(num1/num2);
    print(num1%num2);
    print(num1^num2);
    print(-num1);

    解释运行:lua test6.lua

    结果:

    6
    2
    8
    2.0
    0
    16.0
    -4

    2、关系运算符有: ==(等于)   ~=(不等于)  >(大于)  <(小于)  >=(大于等于)  <=(小于等于)

    当比较结果成立返回true,否则返回false

    来看一个例子: test6.lua

    num = 1 ;
    num1 = 1;
    num2 = 2;
    num3 = 3; 
    num4 = 4;
    num5 = 5;
    num6 = 6;
    ret = num1 == num2 ;
    print(ret);
    ret = num1 ~= num2 ; 
    print(ret);
    ret = num3 > num2 ;
    print(ret);
    ret = num4 < num3 ; 
    print(ret);
    ret = num5 >= num6 ;
    print(ret);
    ret = num1 <= num ;
    print(ret);

    解释运行:lua test6.lua

    结果:

    false
    true
    true
    false
    false
    true

    3、逻辑运算符有: and(逻辑与)   or(逻辑或)   not(逻辑非)

    假设有A和B,如果A and B, 为真返回A,为假返回B 

    假设有A和B ,如果A or  B , 为真返回A ,为假返回B

    假设有A和B ,如果 not A  , 为真返回true ,为假返回false

    来看一个例子:test6.lua

    num1 = 100 ;
    num2 = 200 ;
    num3 = 0 ;
    ret = num1 and num3 ; 
    print(ret);
    ret = num1 or num3 ; 
    print(ret);
    ret = not num1 ;
    print(ret);
    ret = not(num1 and num2);
    print(ret);

    解释运行:lua test6.lua

    结果:

    0
    100
    false
    false

    4、特殊运算符

     .. 表示连接两个字符串     #表示返回字符串或者表的长度(注意,这里的长度不包括'\0')

    案例: test6.lua

    --定义两个字符串
    str1 = "Hello";
    str2 = "World";
    --连接两个字符串
    ret = str1..str2;
    print(ret);
    --获取连接后的字符串的长度
    str_length = #ret ;
    print(str_length);

    解释运行: lua test6.lua

    结果:

    HelloWorld
    10

    当然,lua的运算符也是有优先级的,优先级从高到底的顺序为:

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

    总结

    以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对站长博客的支持。如果你想了解更多相关内容请查看下面相关链接

    js
    下一篇:没有了