众所周知,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

Lua基础---运算符的更多相关文章

  1. Lua 基础

    Lua 5.3 的中文手册, http://cloudwu.github.io/lua53doc 在线浏览 --第一部分 -- 两个横线开始单行的注释 --[[ 加上两个[和]表示 多行的注释. -- ...

  2. [.net 面向对象编程基础] (6) 基础中的基础——运算符和表达式

    [.net 面向对象编程基础] (6) 基础中的基础——运算符和表达式 说起C#运算符和表达式,小伙伴们肯定以为很简单,其实要用好表达式,不是一件容易的事.一个好的表达式可以让你做事半功倍的效果,比如 ...

  3. Lua基础 函数(一)

    转自: http://blog.csdn.net/wzzfeitian/article/details/8653101 在Lua中,函数是对语句和表达式进行抽象的主要方法.既可以用来处理一些特殊的工作 ...

  4. js基础——运算符

    爱创课堂前端培训--js基础 运算符一.运算符 运算符(Operators,也翻译为操作符),是发起运算的最简单形式.分类:(运算符的分类仁者见智,本课程进行一下分类.)数学运算符(Arithmeti ...

  5. 基础运算符补充,流程控制之if判断/while循环

    常量 常量即指不变的量.在python中没有一个专门 的语法代表常量,程序员约定俗成地用变量名全部被大写代表常量. AGE_OF_OLDBOY = 56 基础运算符补充 1.算术运算 加减乘除+ - ...

  6. Lua基础之MetaTable(6)

    Lua基础之MetaTable(6) 转载地址:http://nova-fusion.com/2011/06/30/lua-metatables-tutorial/ 关于MetaTable的补充:ht ...

  7. python常用命令和基础运算符

    基础运算符 http://www.cnblogs.com/alex3714/articles/5465198.html 身份运算符:is is not成员运算符:in not in ##in 判断元素 ...

  8. 分分钟钟学会Python -基础&运算符

    day002 基础&运算符 1.循环语句 ### 1.循环格式 while 条件: print('') ''' while True: print('人生苦短,我用Python.') ''' ...

  9. 10-12C#基础--运算符

    10-12C#基础--运算符 课前作业:班级内人数的姓名和年龄,分别写出之后并汇总. 一.运算符的分类 1.数学运算符(7个) 1)+(加号) 例: 2)-(减号) 例: 3)*(乘号) 例: 4)/ ...

随机推荐

  1. HTML布局--使用<div>元素

    div元素是用于分组HTML元素的块级元素 上图代码示例如下: <!DOCTYPE html> <html lang="en"> <head> ...

  2. python全栈开发从入门到放弃之字符串的应用

    1.strip strip 脱去(...的)衣服 去掉左右两边的空白msg=' hellprint(msg) 1 print(msg.strip()) #去掉左右两边的空白 2 3 hello 4 h ...

  3. String与其他类型的转换

    首先,对于String类有一点是毫无疑问的:对String对象的任何改变都不影响到原对象,相关的任何change操作都会生成新的对象. 一. String与StringBuilder.StringBu ...

  4. LeetCode:课程表II【210】

    LeetCode:课程表II[210] 题目描述 现在你总共有 n 门课需要选,记为 0 到 n-1. 在选修某些课程之前需要一些先修课程. 例如,想要学习课程 0 ,你需要先完成课程 1 ,我们用一 ...

  5. 自动化测试调查问卷送《QTP自动化测试最佳实践》

    自动化测试调查问卷送<QTP自动化测试最佳实践> http://automationqa.com/forum.php?mod=viewthread&tid=2308&fro ...

  6. flex graphiclar symbol的不同比例尺切换

    private var cityGraL:GraphicsLayer;//标记城市 maxScale=50000 private var siteGraL:GraphicsLayer;//标记站点 m ...

  7. E-R图和数据库的设计

    数据库设计: 原则:如果属性有了多个字段,可以当实体.如果只有一个字段,只能当属性(比如实体属性种类) 1.设计E-R图 实体:矩形 关系:菱形 属性:椭圆(可省) 2.关系的类型 一对一 一对多 多 ...

  8. SQL SERVER 索引中聚集索引分析和Transact-SQL语句优化

    一. 聚集索引B树分析1.聚集索引按B树结构进行组织的,索引B树种的每一页称为一个索引节点.B树的顶端节点称为根节点.  索引中的低层节点称为叶节点.根节点与叶节点之间的任何索引级别统称为中间级.在聚 ...

  9. jQuery可自动播放动画的焦点图

    在线演示 本地下载

  10. SQuirrel-GUI工具安装手册-基于phoenix驱动

    背景描述: SQuirrel sql client 官方地址:http://www.squirrelsql.org/index.php?page=screenshots 一个图形界面的管理工具 安装手 ...