Swift教程之基本运算符详解

2020-01-08 22:49:40刘景俊

逻辑操作符是一个前缀操作符, 并立即出现在它修饰的值之前,没有任何空白,它被解读为”不是”, 见下面的例子:

let allowedEntry = false
if !allowedEntry {
println("ACCESS DENIED")
}
// prints "ACCESS DENIED"
这句话if !allowedEntry 能理解为 “if not allowedEntry.” 只执行后续的行,如果“not allowedEntry” 是 true; 那就是说 if allowedEntry是false.

在这个例子中,精心挑选的布尔常量和变量名可以帮助保持代码的可读性和简洁,同时避免双重否定或混乱的逻辑语句。

逻辑与运算符

逻辑与运算符:(A && B)创建的表达式中,A和B两个值必须同时为true时表达式才正确。

其中A或者B有任一值是false时,逻辑与算符表示不成立,必须两者同时为true时才成立。事实上,如果第一个值是false,第二个值甚至不会再进行判断,因为必须是两个值皆为true,已经有一方false、则没必要再往下面进行判断了。这被称作短路条件。

以下这个例子判断两个Bool 类型的值,并只有这两个值都为真的时候会输出:Welcome。失败则输出”ACCESS DENIED”:

复制代码
let enteredDoorCode = true
let passedRetinaScan = false
if enteredDoorCode && passedRetinaScan {
    println("Welcome!")
} else {
    println("ACCESS DENIED")
}
// prints "ACCESS DENIED”

 

逻辑或运算符

表达式(a || b)运算符中、只要a或者b有一个为true,表达式就成立。

与上面的逻辑与运算符相似,逻辑或运算符使用短路条件判断,如果左边是 true,那么右边不会被判断,因为整体结果不会改变了。