Nested 'if' Statements
Part of the Fundamentals section of Coddy's Dart journey — lesson 35 of 94.
Nested if statements check conditions inside other conditions, creating complex decision paths. The inner condition only evaluates when the outer condition is true.
void main() {
int age = 25;
bool hasLicense = true;
if (age >= 18) {
print('You are an adult');
if (hasLicense) {
print('You can drive a car');
}
}
}Output:
You are an adult
You can drive a carChallenge
EasyCreate a program that determines a student's grade based on their exam score and attendance record:
- Declare an integer variable
examScorewith a value of 78 - Declare a boolean variable
hasGoodAttendancewith a value of true - Use nested if statements to determine the student's grade according to these rules:
- If
examScoreis 90 or above, the grade is "A" - If
examScoreis between 80 and 89: - If
hasGoodAttendanceis true, the grade is "B+" - Otherwise, the grade is "B"
- If
examScoreis between 70 and 79: - If
hasGoodAttendanceis true, the grade is "C+" - Otherwise, the grade is "C"
- If
examScoreis below 70, the grade is "F"
Print the final grade with the exact format: Student grade: X (where X is the determined grade)
Cheat sheet
Nested if statements check conditions inside other conditions. The inner condition only evaluates when the outer condition is true.
if (outerCondition) {
// Outer code block
if (innerCondition) {
// Inner code block - only runs if both conditions are true
}
}Example:
int age = 25;
bool hasLicense = true;
if (age >= 18) {
print('You are an adult');
if (hasLicense) {
print('You can drive a car');
}
}Try it yourself
void main() {
// Declare your variables here
int examScore = 78;
bool hasGoodAttendance = true;
String grade;
// Implement nested if statements to determine the grade
// Print the final grade
print("Student 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