The 'switch' Statement
Part of the Fundamentals section of Coddy's Dart journey — lesson 36 of 94.
The switch statement in Dart offers a cleaner alternative to multiple if-else statements when checking a variable against different values.
void main() {
String grade = 'B';
switch (grade) {
case 'A':
print('Excellent performance!');
break;
case 'B':
print('Good performance!');
break;
case 'C':
print('Average performance.');
break;
case 'D':
print('Below average performance.');
break;
default:
print('Invalid grade.');
break;
}
}When run, it outputs: Good performance!
Challenge
EasyCreate a program that determines a student's grade based on their exam score using a switch statement:
- Declare an integer variable named
examScorewith a value of 85 - Create a string variable named
gradeto store the letter grade - Use a
switchstatement with the following rules: - If
examScoreis between 90 and 100 (inclusive), setgradeto "A" - If
examScoreis between 80 and 89 (inclusive), setgradeto "B" - If
examScoreis between 70 and 79 (inclusive), setgradeto "C" - If
examScoreis between 60 and 69 (inclusive), setgradeto "D" - For any other score, set
gradeto "F" - Print the result in this exact format:
Score: 85, Grade: B
Note: You'll need to use integer division to convert the score to a range that works with switch.
Cheat sheet
The switch statement in Dart provides a cleaner alternative to multiple if-else statements when checking a variable against different values.
switch (variable) {
case 'value1':
// code to execute
break;
case 'value2':
// code to execute
break;
default:
// code for unmatched cases
break;
}Each case must end with a break statement to prevent fall-through. The default case handles values that don't match any specific case.
String grade = 'B';
switch (grade) {
case 'A':
print('Excellent performance!');
break;
case 'B':
print('Good performance!');
break;
default:
print('Invalid grade.');
break;
}Try it yourself
void main() {
// Declare the examScore variable here
int examScore = 85;
// Declare the grade variable here
String grade;
// Use a switch statement to determine the grade
// Print the result
print("Score: $examScore, Grade: $grade");
}This lesson includes a short quiz. Start the lesson to answer it and track your progress.
All lessons in Fundamentals
4Operators Part 2
Comparison OperatorsLogical ANDLogical ORLogical NOTType Test OperatorsRecap - Making Comparisons7Working with Strings
String ConcatenationString InterpolationMulti-line StringsString PropertiesBasic String Methods10Collections - Maps Basics
What are Maps?Creating a MapAccessing Values by KeyKey-Value PairsGetting Map SizeGetting KeysGetting ValuesChecking if a Key Exists13Null Safety In Depth
Understanding NullNullable TypesNon-Nullable TypesNull Assertion OperatorLate InitializationRecap - Handling Null Safely16Fundamentals Challenges
Challenge: List of calculationChallenge: Sum of numbersChallenge: Find product2Variables and Basic Data Types
What are Variables?StringsIntegers (int)Doubles (double)Booleans (bool)Type Inference with 'var'Final VariablesConstant VariablesNaming ConventionsBasic Null SafetyRecap - Declaring Variables8Control Flow - Loops
The 'for' LoopThe 'while' LoopThe 'do-while' LoopUsing 'break' in LoopsUsing 'continue' in LoopsRecap - Repeating Code3Operators Part 1
Arithmetic OperatorsInteger DivisionModulo OperatorIncrement and DecrementAssignment ShortcutsRecap - Simple Calculations6Control Flow - Decision Making
The 'if' StatementThe 'else' StatementThe 'else if' StatementRecap - Simple DecisionsNested 'if' StatementsThe 'switch' Statement9Collections - Lists Basics
What are Lists?Creating a ListAccessing by IndexGetting List LengthAdding ElementsRemoving ElementsChecking if a List is EmptyIterating Over a List12Functions Advanced
Optional Positional ParametersNamed ParametersRequired Named ParametersDefault Parameter ValuesRecap - Function Parameters15Project: Simple Calculator
Setting UpDeclaring Number