Bird
Raised Fist0
Swiftprogramming~10 mins

Logical operators in Swift - Step-by-Step Execution

Choose your learning style10 modes available
Concept Flow - Logical operators
Start
↓
Evaluate Left Operand
↓
Evaluate Right Operand
↓
Apply Logical Operator
↓
Result: true or false
↓
Use Result in Condition or Expression
↓
End
Logical operators take two true/false values and combine them to produce a new true/false result used in decisions.
Execution Sample
Swift
let a = true
let b = false
let result = a && b
print(result)
This code checks if both a and b are true using AND (&&) and prints the result.
Execution Table
StepExpressionLeft OperandRight OperandOperatorResultExplanation
1atrue--trueVariable a is true
2b-false-falseVariable b is false
3a && btruefalse&&falseAND requires both true, b is false so result is false
4print(result)---falseOutput is false
💡 Finished evaluating logical AND; result is false because one operand is false
Variable Tracker
VariableStartAfter Step 1After Step 2After Step 3Final
aundefinedtruetruetruetrue
bundefinedundefinedfalsefalsefalse
resultundefinedundefinedundefinedfalsefalse
Key Moments - 2 Insights
Why is the result false even though one operand is true?
Because the AND operator (&&) needs both operands to be true. The execution_table row 3 shows left is true but right is false, so result is false.
What happens if we use OR (||) instead of AND (&&)?
OR returns true if at least one operand is true. So if we change operator in row 3 to ||, result would be true because a is true.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution_table at step 3, what is the result of 'a && b'?
Atrue
Bfalse
Cundefined
Derror
💡 Hint
Check the 'Result' column in row 3 of the execution_table.
At which step is variable b assigned its value?
AStep 3
BStep 1
CStep 2
DStep 4
💡 Hint
Look at the 'Expression' and 'Right Operand' columns in execution_table row 2.
If we change the operator in step 3 from && to ||, what would be the new result?
Atrue
Bfalse
Cundefined
Derror
💡 Hint
Recall that OR (||) returns true if either operand is true; see variable values in variable_tracker.
Concept Snapshot
Logical operators combine two Boolean values.
Common operators: && (AND), || (OR), ! (NOT).
AND returns true only if both are true.
OR returns true if at least one is true.
NOT reverses true/false.
Used in conditions to control program flow.
Full Transcript
This visual execution shows how logical operators work in Swift. We start with two variables a and b, assigned true and false. Then we evaluate the expression a && b. The AND operator requires both sides to be true, but since b is false, the result is false. Finally, we print the result which outputs false. The variable tracker shows how a, b, and result change step by step. Key moments clarify why the result is false and what would happen if we used OR instead. The quiz tests understanding of the steps and operator behavior.

Practice

(1/5)
1. Which logical operator in Swift returns true only if both conditions are true?
easy
A. == (Equality)
B. || (OR)
C. && (AND)
D. ! (NOT)

Solution

  1. Step 1: Understand the AND operator

    The AND operator (&&) returns true only when both conditions it connects are true.
  2. Step 2: Compare with other operators

    The OR operator (||) returns true if at least one condition is true, NOT (!) flips true to false and vice versa, and == checks equality, not logical combination.
  3. Final Answer:

    && (AND) -> Option C
  4. Quick Check:

    AND = && [OK]
Hint: AND needs both true; look for && operator [OK]
Common Mistakes:
  • Confusing AND (&&) with OR (||)
  • Thinking NOT (!) combines conditions
  • Mixing equality (==) with logical operators
2. Which of the following is the correct syntax to negate a Boolean value isActive in Swift?
easy
A. !isActive
B. not isActive
C. isActive!
D. isActive.not()

Solution

  1. Step 1: Recall the NOT operator syntax

    In Swift, the NOT operator is written as an exclamation mark (!) placed before the Boolean variable to flip its value.
  2. Step 2: Check each option

    !isActive is the correct syntax. The other options are not valid Swift syntax for negation.
  3. Final Answer:

    !isActive -> Option A
  4. Quick Check:

    NOT = ! before variable [OK]
Hint: Use ! before variable to negate Boolean [OK]
Common Mistakes:
  • Writing 'not' instead of '!'
  • Putting ! after variable name
  • Using method calls like .not()
3. What will be the output of this Swift code?
let a = true
let b = false
print(a || b && !b)
medium
A. Syntax Error
B. true
C. false
D. nil

Solution

  1. Step 1: Evaluate the NOT operator

    !b means !false which is true.
  2. Step 2: Evaluate AND operator

    b && !b is false && true which is false.
  3. Step 3: Evaluate OR operator

    a || (result of AND) is true || false which is true.
  4. Final Answer:

    true -> Option B
  5. Quick Check:

    OR with true = true [OK]
Hint: Remember NOT first, then AND, then OR [OK]
Common Mistakes:
  • Ignoring operator precedence
  • Evaluating OR before AND
  • Misunderstanding ! operator
4. Identify the error in this Swift code snippet:
let x = true
let y = false
if x || && y {
    print("Yes")
}
medium
A. Missing parentheses around conditions
B. print statement syntax error
C. Variables x and y are not Boolean
D. Incorrect use of logical operators together

Solution

  1. Step 1: Analyze the if condition syntax

    The condition uses 'x || && y' which combines OR (||) and AND (&&) operators without a proper operand between them.
  2. Step 2: Identify the logical operator misuse

    Logical operators must connect two Boolean expressions. Here, '|| &&' is invalid syntax.
  3. Final Answer:

    Incorrect use of logical operators together -> Option D
  4. Quick Check:

    Operators must connect expressions properly [OK]
Hint: Operators need operands on both sides [OK]
Common Mistakes:
  • Writing two operators without a condition between
  • Assuming parentheses fix operator misuse
  • Confusing variable types with operator errors
5. You want to check if a number n is between 10 and 20 inclusive in Swift. Which condition correctly uses logical operators?
hard
A. n >= 10 && n <= 20
B. n > 10 && n < 20
C. n >= 10 || n <= 20
D. !(n < 10 && n > 20)

Solution

  1. Step 1: Understand the range condition

    To check if n is between 10 and 20 inclusive, n must be greater than or equal to 10 AND less than or equal to 20.
  2. Step 2: Evaluate each option

    n >= 10 || n <= 20 uses OR which is incorrect because it allows values outside the range. n > 10 && n < 20 excludes 10 and 20 by using > and <. !(n < 10 && n > 20) negates an impossible condition and is incorrect.
  3. Final Answer:

    n >= 10 && n <= 20 -> Option A
  4. Quick Check:

    Use AND for range checks [OK]
Hint: Use && to combine lower and upper bounds [OK]
Common Mistakes:
  • Using OR instead of AND for range
  • Excluding boundary values by using > or <
  • Using negation incorrectly for range
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard