逻辑运算
布尔型和比较运算
布尔型(boolean)只有两个可选值:true(真) 和 false(假)
Lua 把 false 和 nil 看作是false,其他的都为true(包括0这个值,也是相当于true)
Lua 中也有许多的关系运算符,用于比较大小或比较是否相等,符号及其含义如下表:
符号 含义
== 等于,检测两个值是否相等,相等返回 true,否则返回 false
~= 不等于,检测两个值是否相等,相等返回 false,否则返回 true
大于,如果左边的值大于右边的值,返回 true,否则返回 false
< 小于,如果左边的值大于右边的值,返回 false,否则返回 true
= 大于等于,如果左边的值大于等于右边的值,返回 true,否则返回 false
<= 小于等于, 如果左边的值小于等于右边的值,返回 true,否则返回 false
我们可以通过以下实例来更加透彻的理解关系运算符的应用:
a = 21
b = 10
print(‘的结果’,ab)
print(’=的结果’,a=b)
print(‘>的结果’,a>b)
print(‘<的结果’,a<b)
print(‘>=的结果’,a>=b)
print(‘<=的结果’,a<=b)
下面问题来了,运行以下代码,将会输出什么结果?请自行思考
a = 1
b = ‘1’
c = a
d = 2
print(a == b)
print(c == a)
print(a ~= b)
print(d <= c)
逻辑运算符
逻辑运算符基于布尔型的值来进行计算,并给出结果,下表列出了 Lua 语言中的常用逻辑运算符:
符号 符号
and 逻辑与操作符。 若 A 为 false,则返回 A,否则返回 B
or 逻辑或操作符。 若 A 为 true,则返回 A,否则返回 B
not 逻辑非操作符。与逻辑运算结果相反,如果条件为 true,逻辑非为 false
我们可以通过以下实例来更加透彻的理解逻辑运算符的应用:
print(‘true and false的结果’,true and false)
print(‘true or false的结果’,true or false)
print(‘true and true的结果’,true and true)
print(‘false or false的结果’,false or false)
print(‘not false的结果’,not false)
print(‘123 and 345的结果’,123 and 345)
print(‘nil and true的结果’,nil and true)
下面问题来了,运行以下代码,将会输出什么结果?
a = 1
b = ‘1’
c = 0
print(a and b)
print(c or a)
print(not b)
print(d and c)
print(1 < 2 and 3 > 2)
检验大小(自测题)
题目:如果已知number变量n,那么如果需要判断n是否符合下面的条件:
3<n≤10
以下四行判断代码,正确的是?
(返回true即表示变量n符合要求)
n = 1–这个数可能是任意数字
print(n > 10 or n <= 3)
print(n <= 10 or n > 3)
print(n < 3 and n >= 10)
print(n <= 10 or n > 3)