Logical NOT
Part of the Fundamentals section of Coddy's Dart journey — lesson 25 of 94.
The logical NOT operator (!) reverses boolean values, turning true to false and vice versa.
void main() {
bool isRaining = true;
bool isNotRaining = !isRaining;
print('Is it raining? $isRaining');
print('Is it not raining? $isNotRaining');
}Output:
Is it raining? true
Is it not raining? falseIt's useful for checking negative conditions and can combine with other logical operators.
Challenge
EasyCreate a program that demonstrates the Logical NOT (!) operator in Dart:
- Declare a boolean variable
isRainingand set it totrue - Declare a boolean variable
hasUmbrellaand set it tofalse - Create a new boolean variable
willGetWetthat istrueif it's raining AND the person does NOT have an umbrella (use the ! operator) - Create another boolean variable
canGoOutsidethat istrueif it's NOT raining OR the person has an umbrella (use the ! operator) - Print all four variables with the EXACT following format:
Is it raining? true Do you have an umbrella? false Will you get wet? true Can you go outside? false
Your output must match this exact format.
Cheat sheet
The logical NOT operator (!) reverses boolean values, turning true to false and vice versa.
bool isRaining = true;
bool isNotRaining = !isRaining;
print('Is it raining? $isRaining'); // true
print('Is it not raining? $isNotRaining'); // falseThe NOT operator is useful for checking negative conditions and can combine with other logical operators.
Try it yourself
void main() {
// Declare your boolean variables here
bool isRaining = ?;
bool hasUmbrella = ?;
// Calculate willGetWet using logical NOT with AND
bool willGetWet = ?;
// Calculate canGoOutside using logical NOT with OR
bool canGoOutside = ?;
// Print the variables with labels
print("Is it raining? $isRaining");
print("Do you have an umbrella? $hasUmbrella");
print("Will you get wet? $willGetWet");
print("Can you go outside? $canGoOutside");
}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