📖 Scenario: You are creating a simple program to identify the type of a day based on its name. This helps you plan your activities better.
🎯 Goal: Build a Swift program that uses a switch statement to print the type of day (weekday or weekend) for a given day name.
📋 What You'll Learn
Create a variable called day with the exact value "Saturday".
Create a variable called dayType to hold the result.
Use a switch statement on day with cases for weekdays and weekends.
Assign "Weekend" or "Weekday" to dayType inside the switch.
Print the value of dayType.
💡 Why This Matters
🌍 Real World
Switch statements help you make decisions based on different values, like choosing actions for days of the week in scheduling apps.
💼 Career
Understanding switch statements is important for writing clear and efficient code in many programming jobs, especially when handling multiple conditions.
Progress0 / 4 steps
1
DATA SETUP: Create the day variable
Create a variable called day and set it to the string "Saturday".
Swift
Hint
Use var day = "Saturday" to create the variable.
2
CONFIGURATION: Create the dayType variable
Create a variable called dayType and set it to an empty string "".
Swift
Hint
Use var dayType = "" to create the variable.
3
CORE LOGIC: Use switch statement to set dayType
Use a switch statement on the variable day. For cases "Monday", "Tuesday", "Wednesday", "Thursday", and "Friday", set dayType to "Weekday". For cases "Saturday" and "Sunday", set dayType to "Weekend". Use a default case to set dayType to "Unknown".
Swift
Hint
Use commas to group multiple cases in one line inside the switch.
4
OUTPUT: Print the dayType
Write a print statement to display the value of the variable dayType.
Swift
Hint
Use print(dayType) to show the result.
Practice
(1/5)
1. What is the main advantage of using a switch statement in Swift compared to multiple if-else statements?
easy
A. It runs faster than any other conditional statement.
B. It makes the code easier to read and maintain by clearly checking many cases.
C. It allows only numeric comparisons.
D. It automatically handles errors without extra code.
Solution
Step 1: Understand the purpose of switch
The switch statement is designed to check a value against multiple cases clearly and cleanly.
Step 2: Compare with if-else statements
While if-else can do similar checks, switch improves readability and maintenance by organizing cases neatly.
Final Answer:
It makes the code easier to read and maintain by clearly checking many cases. -> Option B
Quick Check:
Switch improves readability = A [OK]
Hint: Switch organizes multiple checks clearly for easy reading [OK]
Common Mistakes:
Thinking switch is always faster than if-else
Believing switch only works with numbers
Assuming switch handles errors automatically
2. Which of the following is the correct syntax for a basic switch statement in Swift?
easy
A. switch (value) { case 1 print("One") else print("Other") }
B. switch value { if case 1: print("One") else: print("Other") }
C. switch value: case 1 -> print("One") else -> print("Other")
D. switch value { case 1: print("One") default: print("Other") }
Solution
Step 1: Review correct switch syntax
In Swift, a switch statement uses curly braces with cases followed by colons and code blocks.
Step 2: Identify the correct option
switch value { case 1: print("One") default: print("Other") } matches the correct syntax: switch value { case 1: ... default: ... }.
Final Answer:
switch value { case 1: print("One") default: print("Other") } -> Option D
Quick Check:
Correct switch syntax = B [OK]
Hint: Remember: cases end with colon and use curly braces [OK]
Common Mistakes:
Omitting colons after case labels
Using else instead of default
Wrong punctuation like arrows or missing braces
3. What will be the output of the following Swift code?
let number = 3
switch number {
case 1, 3, 5:
print("Odd")
case 2, 4, 6:
print("Even")
default:
print("Unknown")
}
medium
A. Odd
B. Even
C. Unknown
D. No output
Solution
Step 1: Check the value of number
The variable number is set to 3.
Step 2: Match number in switch cases
Case 1, 3, 5 matches number 3, so it prints "Odd".
Final Answer:
Odd -> Option A
Quick Check:
3 in (1,3,5) = Odd [OK]
Hint: Look for matching case values separated by commas [OK]
Common Mistakes:
Choosing Even because 3 is odd but not in even case
Ignoring multiple values in one case
Assuming default runs when a case matches
4. Identify the error in this Swift switch statement:
let grade = "B"
switch grade {
case "A":
print("Excellent")
case "B"
print("Good")
default:
print("Needs Improvement")
}
medium
A. Switch cannot use strings
B. Missing default case
C. Missing colon after case "B"
D. Print statements must be outside switch
Solution
Step 1: Check syntax of each case
Each case label must end with a colon (:). The case "B" is missing this colon.
Step 2: Confirm other parts are correct
Default case exists, strings are allowed, and print inside switch is valid.
Final Answer:
Missing colon after case "B" -> Option C
Quick Check:
Case labels need colon = C [OK]
Hint: Every case line ends with a colon : [OK]
Common Mistakes:
Forgetting colon after case label
Thinking default is optional (it is recommended)
Believing switch can't handle strings
5. You want to categorize an integer score into grades using a switch statement: - 90 to 100: "A" - 80 to 89: "B" - 70 to 79: "C" - Below 70: "F" Which switch statement correctly implements this?
hard
A. switch score {
case 90...100: print("A")
case 80...89: print("B")
case 70...79: print("C")
default: print("F")
}
B. switch score {
case 90..<100: print("A")
case 80..<90: print("B")
case 70..<80: print("C")
default: print("F")
}
C. switch score {
case 90...100: print("A")
case 80...90: print("B")
case 70...80: print("C")
default: print("F")
}
D. switch score {
case 90...100: print("A")
case 80...89: print("B")
case 70...79: print("C")
case 0...69: print("F")
}
Solution
Step 1: Understand range operators
Closed range operator (...) includes both ends, so 90...100 includes 90 and 100.
Step 2: Check all ranges cover scores without overlap or gaps
switch score {
case 90...100: print("A")
case 80...89: print("B")
case 70...79: print("C")
default: print("F")
} uses closed ranges for exact matches (90-100, 80-89, 70-79) and default catches below 70 perfectly without gaps or overlaps.
Step 3: Identify issues in other options
B uses half-open ranges (..<) excluding upper bounds like 100 (90..<100 misses 100); C has overlapping ranges (80...90 overlaps 90 with A, 70...80 overlaps 80); D lacks default and doesn't cover all integers (e.g., negatives, >100), causing compile error.
Final Answer:
switch score {
case 90...100: print("A")
case 80...89: print("B")
case 70...79: print("C")
default: print("F")
} -> Option A
Quick Check:
Complete, non-overlapping ranges = A [OK]
Hint: Use closed ranges and cover all values explicitly [OK]
Common Mistakes:
Overlapping or missing ranges
Using half-open ranges that exclude max values
Not covering all possible values explicitly
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.