上QQ阅读APP看书,第一时间看更新
2.6 运算符
运算符是进行科学计算的标识符。常量、变量和运算符可以组成表达式,表达式是组成程序的基本部分。
2.6.1 算术运算符
Lua中的算术运算符用来组织整型和浮点型数据的算术运算,Lua中的算术运算包括:+、-、*、/、%和^,这些运算符对整型和浮点型数据都有效。二元运算符说明如表2-1所示。
表2-1 二元算术运算
下面看一个算数运算符示例:
--声明一个整型变量 local intResult = 1 + 2 print(intResult) intResult = intResult - 1 print(intResult) intResult = intResult * 2 print(intResult) intResult = intResult/2 print(intResult) intResult = intResult + 8 intResult = intResult % 7 print(intResult) print("-------") --声明一个浮点型变量 local doubleResult = 10.6 print(doubleResult) doubleResult = doubleResult - 1 print(doubleResult) doubleResult = doubleResult * 2 print(doubleResult) doubleResult = doubleResult/2 print(doubleResult) doubleResult = doubleResult + 8 doubleResult = doubleResult % 7 print(doubleResult)
输出结果如下:
3 2 4 2 3 ------- 10.6 9.6 19.2 9.6 3.6
上述例子分别对整型和浮点型进行算术运算,具体语句不再解释。
2.6.2 关系运算符
关系运算是比较两个表达式大小关系的运算,它的结果是真(true)或假(false),即布尔型数据。如果表达式成立则结果为true,否则为false。关系运算符有8种:>、<、>=、<=、==和~=。关系运算符说明如表2-2所示。
表2-2 关系运算符
下面看一个关系运算符示例:
local value1 = 1 local value2 = 2 if value1 == value2 then print("value1 == value2") end if value1 ~= value2 then print("value1 ~= value2") end if value1 > value2 then print("value1 > value2") end if value1 < value2 then print("value1 < value2") end if value1 < = value2 then print("value1 < = value2") end
输出结果如下:
value1 ~= value2 value1 < value2 value1 < = value2 a == b
2.6.3 逻辑运算符
逻辑运算符是对布尔型变量进行运算,其结果也是布尔型。关系运算符说明如表2-3所示。
表2-3 关系运算符
我们看看下面的例子:
local i = 0 local a = 10 local b = 9 if (a > b)or(i == 1)then print("或运算为 真") else print("或运算为 假") end print("i ="..i) i = 0 if (a < b)and(i == 1)then print("与运算为 真") else print("与运算为 假") end print("i ="..i)
上述代码运行后的输出结果如下:
或运算为 真 i = 0 与运算为 假 i = 0
2.6.4 运算优先级
运算优先级决定表达式的运算顺序,如果运算顺序不同,同样的表达式就有不同的结果。运算优先级说明如表2-4所示。
表2-4 运算优先级
表2-4所示的运算符优先顺序是从上到下,由高到低。