Bird
Raised Fist0
Swiftprogramming~10 mins

Bool type and logical operators in Swift - Step-by-Step Execution

Choose your learning style10 modes available
Concept Flow - Bool type and logical operators
Start with Bool values
↓
Apply logical operators
↓
Evaluate expressions
↓
Result is true or false
↓
Use result in conditions or assignments
This flow shows how Boolean values are combined with logical operators to produce true or false results used in decisions.
Execution Sample
Swift
let a = true
let b = false
let c = a && b
let d = a || b
let e = !a
This code creates Boolean variables and combines them with AND, OR, and NOT operators.
Execution Table
StepExpressionEvaluationResult
1a = trueAssign true to aa = true
2b = falseAssign false to bb = false
3c = a && btrue AND falsefalse
4d = a || btrue OR falsetrue
5e = !aNOT truefalse
💡 All expressions evaluated, final Boolean values assigned.
Variable Tracker
VariableStartAfter Step 1After Step 2After Step 3After Step 4After Step 5
aundefinedtruetruetruetruetrue
bundefinedundefinedfalsefalsefalsefalse
cundefinedundefinedundefinedfalsefalsefalse
dundefinedundefinedundefinedundefinedtruetrue
eundefinedundefinedundefinedundefinedundefinedfalse
Key Moments - 3 Insights
Why does 'a && b' result in false even though 'a' is true?
Because AND (&&) requires both values to be true. Step 3 in the execution_table shows 'true AND false' equals false.
What does the '!' operator do to a Boolean value?
It flips the value. Step 5 shows '!a' changes true to false.
Why is 'a || b' true when 'b' is false?
OR (||) needs only one true value. Step 4 shows 'true OR false' equals true.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution_table, what is the value of 'c' after step 3?
Atrue
Bundefined
Cfalse
Dnil
💡 Hint
Check the 'Result' column in row for step 3.
At which step does the NOT operator (!) get applied?
AStep 3
BStep 5
CStep 4
DStep 2
💡 Hint
Look for the expression with '!' in the execution_table.
If 'a' was false instead of true, what would be the value of 'd' after step 4?
Afalse
Btrue
Cundefined
Dnil
💡 Hint
Recall OR (||) needs one true to be true; check variable_tracker for 'a' and 'd'.
Concept Snapshot
Bool type holds true or false values.
Logical operators: && (AND), || (OR), ! (NOT).
AND is true only if both are true.
OR is true if at least one is true.
NOT flips true to false and vice versa.
Full Transcript
This lesson shows how Boolean values in Swift work with logical operators. We start by assigning true and false to variables. Then we combine them using AND (&&), OR (||), and NOT (!). Each step evaluates the expression and stores the result. For example, true AND false is false, true OR false is true, and NOT true is false. These results help us make decisions in code. The tables track each variable's value after every step. Common confusions include why AND needs both true, how NOT flips values, and how OR works with one true. The quiz checks understanding by asking about values at specific steps and what changes if inputs change.

Practice

(1/5)
1. Which of the following is a valid Boolean value in Swift?
easy
A. 0
B. 1
C. yes
D. true

Solution

  1. Step 1: Understand Boolean values in Swift

    Swift uses true and false as Boolean values, not numbers or words.
  2. Step 2: Identify the valid Boolean value

    Among the options, only true is a valid Boolean value.
  3. Final Answer:

    true -> Option D
  4. Quick Check:

    Boolean values are true or false [OK]
Hint: Remember: Bool values are only true or false [OK]
Common Mistakes:
  • Confusing 1 or 0 as Boolean values
  • Using words like 'yes' or 'no' instead of true/false
2. Which of the following is the correct way to write a logical AND operation in Swift?
easy
A. a && b
B. a & b
C. a and b
D. a || b

Solution

  1. Step 1: Recall Swift logical AND syntax

    Swift uses && for logical AND, not a single ampersand or words.
  2. Step 2: Identify the correct syntax

    a && b uses &&, which is the correct logical AND operator.
  3. Final Answer:

    a && b -> Option A
  4. Quick Check:

    Logical AND in Swift is && [OK]
Hint: Use double ampersand && for AND in Swift [OK]
Common Mistakes:
  • Using single & instead of &&
  • Writing 'and' as a word
  • Confusing AND with OR operator ||
3. What is the output of the following Swift code?
let a = true
let b = false
print(a || b && !a)
medium
A. Syntax error
B. false
C. true
D. nil

Solution

  1. Step 1: Evaluate the NOT operator

    !a means NOT true, which is false.
  2. Step 2: Evaluate AND operation

    b && !a is false && false, which is false.
  3. Step 3: Evaluate OR operation

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

    true -> Option C
  5. Quick Check:

    Logical operators follow precedence: NOT, AND, OR [OK]
Hint: Remember operator precedence: ! before && before || [OK]
Common Mistakes:
  • Ignoring operator precedence
  • Evaluating OR before AND
  • Confusing !a as true
4. Identify the error in the following Swift code:
let x = true
let y = false
let result = x & y
medium
A. Missing semicolon at the end of the line
B. Using single & instead of && for logical AND
C. Variables x and y must be integers
D. Using let instead of var for result

Solution

  1. Step 1: Check logical AND operator usage

    In Swift, logical AND uses &&, not a single &.
  2. Step 2: Identify the syntax error

    Using & causes a compile error because it's a bitwise operator, not logical.
  3. Final Answer:

    Using single & instead of && for logical AND -> Option B
  4. Quick Check:

    Logical AND requires &&, not & [OK]
Hint: Use && for logical AND, & is bitwise [OK]
Common Mistakes:
  • Confusing bitwise & with logical &&
  • Thinking semicolons are required in Swift
  • Assuming let cannot be used for constants
5. You want to check if a number is between 10 and 20 (inclusive) using Boolean logic in Swift. Which expression correctly uses logical operators to do this?
let number = 15
// Which condition is correct?
hard
A. number >= 10 && number <= 20
B. number > 10 || number < 20
C. number >= 10 || number <= 20
D. number > 10 && number < 20

Solution

  1. Step 1: Understand the range condition

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

    number >= 10 && number <= 20 uses && with inclusive comparisons, which is correct. Others use OR or exclusive comparisons, which are incorrect.
  3. Final Answer:

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

    Use AND to combine both range checks [OK]
Hint: Use && to combine both conditions for range checks [OK]
Common Mistakes:
  • Using || instead of && for range
  • Using > or < instead of >= or <=
  • Mixing OR and AND incorrectly
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