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
廣告