Logical Operators
We can use logical operators to invert or combine two or more boolean expressions. In the following table, we can see the logical operators in Dart:
Name | Operator | Description |
---|---|---|
Not | !a | Invert the value of a . Example: true will become false |
Or | a || b | Combine two boolean expressions. If one of them is true then returns true |
And | a && b | Combine two boolean expressions. If one of them is false then returns false |
Not: !
The not operator (a!) invert the variable's value. If it's true
, then will become false
. Example:
var a = true;
print(a); // prints true
print(!a); // prints false
And: &&
The and operator ( && ) combines two boolean expressions. If one is false
, it evaluates to false
. If both
are true
, it evaluates to true
. Example:
final alice = 25;
final rebecca = 16;
if (alice >= 18 && rebecca >= 18) {
print('Alice and Rebecca are 18 or more years old');
} else {
print('Alice and/or Rebecca are less then 18 years old');
}
The previous code will print Alice and/or Rebecca are less than 18 years old
because Rebecca is younger than 18, so
the and operator returned false
, and the code inside the else was executed.
OR: ||
The or operator ( || ) combines two boolean expressions. If one is true
, it evaluates to true
. If both
are false
, it evaluates to false
. Example:
final alice = 25;
final rebecca = 16;
if (alice >= 18 || rebecca >= 18) {
print('Alice or Rebecca are 18 or more years old');
} else {
print('Alice and Rebecca are less then 18 years old');
}
The previous code will print Alice or Rebecca are 18 or more years old
because Alice is older than 18, so
the or operator returned true
, and the code inside the if was executed.
Let's run the previous examples in DartPad: