Swift Operator Precedence

Swift Introduction

🔢 Swift Operator Precedence (Clear & Easy Guide)

In Swift Operator Precedence determines which operator is evaluated first when multiple operators appear in a single expression.

👉 Just like mathematics:
BODMAS()* / %+ -


 Why Operator Precedence Matters

Wrong understanding = wrong result

let result = 10 + 5 * 2
print(result)

Output:

20

* has higher precedence than +


 Basic Precedence Order (High → Low)

Priority Operator Type Examples
1️⃣ Parentheses ( )
2️⃣ Unary !, -a
3️⃣ Multiplicative * / %
4️⃣ Additive + -
5️⃣ Range ... ..<
6️⃣ Comparison == != > < >= <=
7️⃣ Logical AND &&
8️⃣ Logical OR `
9️⃣ Ternary ? :
🔟 Assignment = += -=

 Arithmetic Operator Precedence

let value = 100 - 10 * 3
print(value)

Output:

70

✔ Multiplication first


Using Parentheses (Best Practice ✅)

let value = (100 - 10) * 3
print(value)

Output:

270

✔ Parentheses override precedence


Logical Operator Precedence

let a = true
let b = false
let c = true
let result = a || b && c
print(result)

Output:

true

&& evaluated before ||


 Comparison + Logical Operators

let age = 20
let isIndian = true
if age >= 18 && isIndian {
print(“Eligible”)
}

✔ Comparison before logical AND


 Ternary Operator Precedence

Lower than comparison, higher than assignment.

let marks = 40
let result = marks >= 50 ? "Pass" : "Fail"

 Nil-Coalescing Operator (??) Precedence

Higher than comparison, lower than arithmetic.

let name: String? = nil
let user = name ?? "Guest"
print(user)

❌ Common Mistakes

❌ Assuming left-to-right always:

print(10 + 2 * 5) // 20, not 60

❌ Complex expressions without parentheses:

let r = a && b || c // confusing

✅ Better:

let r = (a && b) || c

🧠 Quick Memory Trick 🧩

( )
Unary
* / %
+ -
Comparison
&&
||
?:
=

🎯 Summary

  • Operator precedence controls evaluation order

  • Parentheses () override all rules

  • * / % before + -

  • && before ||

  • Use parentheses for clarity

You may also like...