运算符是一个特殊的符号,用于告诉解释器执行特定的数学或逻辑运算。Lua提供了以下几种运算符类型:算术运算符

关系运算符

逻辑运算符

其他运算符

算术运算符

下表列出了 Lua 语言中的常用算术运算符,设定 A 的值为10,B 的值为 20:操作符描述实例

+加法A + B 输出结果 30

-减法A - B 输出结果 -10

*乘法A * B 输出结果 200

/除法B / A w输出结果 2

%取余B % A 输出结果 0

^乘幂A^2 输出结果 100

-负号-A 输出结果v -10

实例

我们可以通过以下实例来更加透彻的理解算术运算符的应用: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 )

以上程序执行结果为:Line 1 - c 的值为 31

Line 2 - c 的值为 11

Line 3 - c 的值为 210

Line 4 - c 的值为 2.1

Line 5 - c 的值为 1

Line 6 - c 的值为 441

Line 7 - c 的值为 -21

关系运算符

下表列出了 Lua 语言中的常用关系运算符,设定 A 的值为10,B 的值为 20:操作符描述实例

==等于,检测两个值是否相等,相等返回 true,否则返回 false(A == B) 为 false。

~=不等于,检测两个值是否相等,相等返回 false,否则返回 true

>大于,如果左边的值大于右边的值,返回 true,否则返回 false(A > B) 为 false。

>=大于等于,如果左边的值大于等于右边的值,返回 true,否则返回 false(A >= B) 返回 false。

<=小于等于, 如果左边的值小于等于右边的值,返回 true,否则返回 false(A <= B) 返回 true。

实例

我们可以通过以下实例来更加透彻的理解关系运算符的应用:a = 21

b = 10

if( a == b )

then

print("Line 1 - a 等于 b" )

else

print("Line 1 - a 不等于 b" )

end

if( a ~= b )

then

print("Line 2 - a 不等于 b" )

else

print("Line 2 - a 等于 b" )

end

if ( a

then

print("Line 3 - a 小于 b" )

else

print("Line 3 - a 大于等于 b" )

end

if ( a > b )

then

print("Line 4 - a 大于 b" )

else

print("Line 5 - a 小于等于 b" )

end

-- 修改 a 和 b 的值

a = 5

b = 20

if ( a <= b )

then

print("Line 5 - a 小于等于  b" )

end

if ( b >= a )

then

print("Line 6 - b 大于等于 a" )

end

以上程序执行结果为:Line 1 - a 不等于 b

Line 2 - a 不等于 b

Line 3 - a 大于等于 b

Line 4 - a 大于 b

Line 5 - a 小于等于  b

Line 6 - b 大于等于 a

逻辑运算符

下表列出了 Lua 语言中的常用逻辑运算符,设定 A 的值为 true,B 的值为 false:操作符描述实例

and逻辑与操作符。 如果两边的操作都为 true 则条件为 true。(A and B) 为 false。

or逻辑或操作符。 如果两边的操作任一一个为 true 则条件为 true。(A or B) 为 true。

not逻辑非操作符。与逻辑运算结果相反,如果条件为 true,逻辑非为 false。not(A and B) 为 true。

实例

我们可以通过以下实例来更加透彻的理解逻辑运算符的应用: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 和 b 的值

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 and b - 条件为 true

a or b - 条件为 true

---------分割线---------

a and b - 条件为 false

not( a and b) - 条件为 true

其他运算符

下表列出了 Lua 语言中的连接运算符与计算表或字符串长度的运算符:操作符描述实例

..连接两个字符串a..b ,其中 a 为 "Hello " , b 为 "World", 输出结果为 "Hello World"。

#一元运算符,返回字符串或表的长度。#"Hello" 返回 5

实例

我们可以通过以下实例来更加透彻的理解连接运算符与计算表或字符串长度的运算符的应用:a = "Hello "

b = "World"

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

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

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

print("w3cschoolphp中文网网址长度 ",#"www.w3cschool.cc" )

以上程序执行结果为:连接字符串 a 和 b Hello World

b 字符串长度 5

字符串 Test 长度 4

w3cschoolphp中文网网址长度 16

运算符优先级

从高到低的顺序:^

not    - (unary)

*      /

+      -

..

<=     >=     ~=     ==

and

or

除了^和..外所有的二元运算符都是左连接的。a+i        (a+i)

5+x^2*8                     5+((x^2)*8)

a        (a

-x^2                        -(x^2)

x^y^z                       x^(y^z)

实例

我们可以通过以下实例来更加透彻的了解 Lua 语言运算符的优先级: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 )

以上程序执行结果为:(a + b) * c / d 运算值为  :90.0

((a + b) * c) / d 运算值为 :90.0

(a + b) * (c / d) 运算值为 :90.0

a + (b * c) / d 运算值为   :50.0

lua运算与php运算符,Lua 运算符相关推荐

  1. C++ 笔记(10)— 运算符(算术、关系、逻辑、位运算、赋值和其它运算符)

    运算符是一种告诉编译器执行特定的数学或逻辑操作的符号. C++ 内置了丰富的运算符,并提供了以下类型的运算符: 算术运算符 关系运算符 逻辑运算符 位运算符 赋值运算符 其它运算符 1. 算术运算符 ...

  2. 在位运算中_Java常见的运算符(下)

    位运算符 < 先说左移运算符,它的符号表示是<< 举个例子,先定义一个int类型的数,十进制的value = 733183670,转换成二进制在计算机中的表示如下(int类型占4个字 ...

  3. java中的 |=(位或运算符)、=(位与运算符)、^=(位异或运算)、~=(位非运算符)

    java逻辑运算符 |= 位或运算符 &= 位与运算符 ^= 位异或运算 ~= 位非运算符 |= 位或运算符 |= 运算符和 += 这一类的运算符一样,拆解开就是 a = a | b: 运算规 ...

  4. C++ Primer 5th笔记(chap 14 重载运算和类型转换)成员运算符

    成员运算符分为两种: 解引用运算符* 箭头运算符-> 设计准则 箭头运算符必须是类的成员. 解引用运算符通常也是类的成员,尽管并非必须如此. 重载的箭头运算符必须返回类的指针或者自定义了箭头运算 ...

  5. SQL基础学习总结:3(select语句基础算术运算符比较运算符)

    select语句基础 列的查询 从表中选取数据时需要使用select语句,通过select语句查询并选取出必要数据的过程称为匹配查询或查询. 语法结构如下: select <列名1>,&l ...

  6. 简述PHP中有哪些运算符,PHP运算符简述

    PHP的运算符号和操作符号 按运算符号的功能划分为 算术运算符,用于处理常用的数学运算 加+ 减- 乘* 除/ 取余运算符% 通常运用于整除运算(如判断是否闰年)和控制范围.尽量不要使用小数和负数进行 ...

  7. java 运算符_java 运算符

    运算符是一些特殊的符号,主要用于数学函数,一些类型的赋值语句或逻辑比较方面.Java 中的运算符分为以下几类. 一.算数运算符 算数运算符包括: + 加法运算,字符串连接运算 - 减法运算 * 乘法运 ...

  8. VBS基础篇 - 运算符(1) - 运算符优先级

    VBScript 有一套完整的运算符,包括算术运算符.字符串运算符.关系运算符和逻辑运算符. 运算符优先级 运算符优先级:在一个表达式中进行多个运算时,每一部分都会按预先确定的顺序进行计算求解. 括号 ...

  9. (4)javascript的运算符以及运算符的优先级

    运算符的使用方法 在javascript的程序中要完成各种各样的运算,是离不开运算符的. 在javascript中,按运算符类型可以分为算术运算符.赋值运算符.比较运算符.逻辑运算符.条件运算符等. ...

最新文章

  1. objective-C NSNotificationCenter (通知)的使用方法
  2. Android拖拽图片的实现
  3. php程序设计依赖注入_PHP控制反转和依赖注入
  4. 爆改100多元卡西欧,可测速、测温、测海拔,一点不输智能运动表
  5. Spring Boot Dubbo 应用启停源码分析
  6. netflix会员和非会员的区别_Netflix开放10部作品免费给非会员试看
  7. java接口的修饰符可以为,附架构师必备技术详解
  8. 怎样才能成为优秀的前端工程师
  9. 2018走向成熟 2019未来可期 | PaddlePaddle大有可为
  10. 简要分析JM8.6代码中foreman_part_qcif.yuv文件的YUV数据如何悄无声息地进入程序
  11. 读取文件卡顿_CPU占用100%,电脑卡顿原来可以这样解决!多任务操作也运行如飞...
  12. lvgl8.2 分析画面刷新
  13. ubuntu虚拟机联网配置
  14. 二叉树中序线索化分析
  15. 华中师范大学 -技术类-- 导师信息
  16. 小程序swiper 自定义样式修改
  17. win7产生大量evtx文件_Win7退役:用户还在坚守,为何微软却执意放弃?
  18. vue实现录音功能js-audio-recorder带波浪图
  19. 20款非常实用的Web工具和资源列表
  20. 语音amr文件转换为mp3文件

热门文章

  1. HDU 1117 免费馅饼 二维动态规划
  2. ejabberd源码学习——方法注册模式
  3. Xcode6 创建静态库
  4. LOL(英雄联盟)提示不支持虚拟机登录,解决方法
  5. 图模型在信息流推荐系统中的原理和实践
  6. 社会内卷的真正原因:华为内部论坛的这篇短文讲透了
  7. 【报告分享】2020年她趋势报告.pdf(附下载链接)
  8. 智能推荐系统的终极目标:“让你成为更好的自己”
  9. 腾讯专家献上技术干货,带你一览腾讯广告召回系统的演进
  10. 软件oem要注意什么_租房软件有哪些 租房有什么需要注意的地方