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.
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