Swift - 逻辑运算符



Swift 中的逻辑运算符

逻辑运算符用于对多个表达式一起执行逻辑运算。它们始终返回布尔值 true 或 false。它们通常与条件语句和循环一起使用,根据布尔条件返回决策。

您还可以将它们组合起来,在处理复杂表达式时操作布尔值。Swift 支持以下逻辑运算符:

运算符 名称 示例
&& 与 (AND) A && B = false
|| 或 (OR) A || B = true
! 非 (NOT) !(A && B) = true

Swift 中的与 (AND) 运算符

如果两个给定表达式都为真,则 AND 运算符返回 true。如果任何一个表达式为假,则此运算符将返回 false。它是一个中缀运算符,这意味着此运算符仅在将其放在两个操作数之间时才有效。

语法

以下是 AND 运算符的语法:

var result = expression1 && expression2

示例

使用 AND 运算符 (&&) 执行两个表达式之间逻辑与运算的 Swift 程序。

import Foundation

let age = 22
let height = 185

if (age > 18) && (height > 182){
   print("You are eligible for the Police exam")
} else {
   print("You are not eligible")
}

输出

You are eligible for the Police exam

Swift 中的或 (OR) 运算符

如果两个给定表达式中只有一个为真,则 OR 运算符返回 true。如果两个表达式都为假,则此运算符将返回 false。它是一个中缀运算符,这意味着它将放在两个操作数之间以执行其操作。

语法

以下是 OR 运算符的语法:

var result = expression1 || expression2

示例

使用 OR 运算符 (||) 执行两个表达式之间逻辑或运算的 Swift 程序。

import Foundation
let marks = 640
let experience = 3
if (marks > 500) || (experience > 4){
   print("You are eligible for the PO Post")
} else {
   print("You are not eligible")
}

输出

You are eligible for the PO Post

Swift 中的非 (NOT) 运算符

非运算符用于反转布尔值。如果值为 true,则将其转换为 false。而如果值为 false,则将其转换为 true。它是一个前缀运算符,位于要反转其值的表达式的前面。

语法

以下是 NOT 运算符的语法:

!(expression1 && expression2)

示例

使用 NOT 运算符 (!) 对表达式执行逻辑非运算的 Swift 程序。

import Foundation
let x = 20
let y = 40

// Here expression gives a true result but NOT operator converts it into a false
if !(x > 0 && y > 0) {
   print("Given values are greater than 0")
} else {
   print("Given values are less than 0")
}

输出

Given values are less than 0

在 Swift 中组合逻辑运算符

在 Swift 中,我们还可以将多个逻辑运算符组合在一个表达式中。这将创建一个长的复合表达式。众所周知,AND 和 OR 是左结合的,因此在复合表达式中,左侧表达式将首先进行评估。

示例

组合多个逻辑运算符的 Swift 程序。

import Foundation

let password = "vsv@v3"
let username = "mona"
let mainPassword = "MO@12s"

if (password == "XP123" || username == "mona") && mainPassword == "MO@12s"{
   print("Welcome to the digital locker")
} else {
   print("Error!!! Please enter correct detail")
}

输出

Welcome to the digital locker
swift_operators.htm
广告