Logical AND
Part of the Fundamentals section of Coddy's Dart journey — lesson 23 of 94.
The logical AND operator (&&) returns true only when both expressions are true, otherwise false.
void main() {
bool isAdult = true;
bool hasLicense = true;
bool canDrive = isAdult && hasLicense;
print('Can this person drive? $canDrive');
}void main() {
int age = 25;
double savings = 5000.0;
bool isEligibleForLoan = (age >= 18) && (savings >= 1000.0);
print('Is eligible for loan? $isEligibleForLoan');
}Challenge
EasyCreate a game eligibility checker using the logical AND (&&) operator:
- Declare an integer variable
agewith a value of 15 - Declare a boolean variable
hasParentalConsentwith a value of true - Declare a boolean variable
hasCompletedTutorialwith a value of false - Declare a boolean variable
canPlayGamethat is true ONLY if: - The player is 18 or older, OR
- The player is at least 13 years old AND has parental consent
- Declare a boolean variable
canAccessBonusthat is true ONLY if: - The player
canPlayGameAND has completed the tutorial - Print the results with the EXACT following format:
Player age: 15
Has parental consent: true
Completed tutorial: false
Can play game: true
Can access bonus content: falseYour output must match this exact format.
Cheat sheet
The logical AND operator (&&) returns true only when both expressions are true, otherwise false.
bool canDrive = isAdult && hasLicense;You can combine multiple conditions:
bool isEligible = (age >= 18) && (savings >= 1000.0);Try it yourself
void main() {
// Declare your variables here
int age = ?;
bool hasParentalConsent = ?;
bool hasCompletedTutorial = ?;
// Check if player can play the game
bool canPlayGame = age >= ? || (age >= ? && hasParentalConsent);
// Check if player can access bonus content
bool canAccessBonus = canPlayGame ? hasCompletedTutorial;
// Print the results
print("Player age: $age");
print("Has parental consent: $hasParentalConsent");
print("Completed tutorial: $hasCompletedTutorial");
print("Can play game: $canPlayGame");
print("Can access bonus content: $canAccessBonus");
}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