众所周知,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. 吴超老师课程--HBASE的集群安装

    1.hbase的机群搭建过程(在原来的hadoop上的hbase伪分布基础上进行搭建)1.1 集群结构,主节点(hmaster)是hadoop,从节点(region server)是hadoop1和h ...

  2. 微信小程序组件form

    表单组件form:官方文档 Demo Code: Page({ formSubmit: function(e) { console.log('form发生了submit事件,携带数据为:', e.de ...

  3. [笔记]使用Go语言Redigo包在Docker容器内连接Redis容器的方法

    Docker容器之间的连接可以带来不少方便,下面记录下如何在自己容器内通过环境变量连接与之连接的Redis容器的方法. 先起一个Redis的Docker容器,命名为 redis,再起一个自己的Dock ...

  4. hadoop16---反射

    框架配置文件中,从字符串获取类和实例,调他的方法. 通过反射的方式可以获取class对象中的属性.方法.构造函数等,一下是实例: package cn.itcast_04_reflect; impor ...

  5. JMS、MQ、ActiveMQ

    JMS 的一个标准或者说是一个协议. 通常用于企业级应用的消息传递. 主要有topic 消息(1 对多), queue 消息(1对1). ActiveMQ 是一个JMS 的实现, apache 出的. ...

  6. git多站点帐号配置

    事件场景 小明同学是一个非常努力的coder,业余时间都花在了github.com上面,因为公司的台式机性能比较好,小明同学想在公司电脑上面也进行开发.但是github上面的帐号邮箱跟公司分配的帐号邮 ...

  7. 俄罗斯最新开源的牛掰数据库ClickHouse

    ClickHouse是俄罗斯最近刚刚开源的用于数据库管理系统能够实时生成分析数据报告,性能非常强悍! 使用SQL查询. 他拥有切割你的数据更多的新方法 ClickHouse的性能超过同类市场上目前用于 ...

  8. 用Heartbeat实现HA集群

    HA即高可用(high avaliable),又被叫做双机热备,用于关键性业务,简单理解就是,有两台机器A和B,正常是A提供服务,B待机闲置,当A宕机或服务宕掉,会切换到B机器继续提供服务.常用实现高 ...

  9. yii2: oracle汉字占用字节长度

    OCIStmtExecute: ORA-12899: value too large for column "WSG"."WX_ENTER_TASTE".&qu ...

  10. python脚本4_求1到5阶乘之和

    #求1到5阶乘之和 # a = 1 sum = 0 for i in range(1,6): a = i*a sum = sum+a print(sum)