- Dart Programming - HTML DOM
- Dart Programming - Unit Testing
- Dart Programming - Concurrency
- Dart Programming - Async
- Dart Programming - Libraries
- Dart Programming - Typedef
- Dart Programming - Debugging
- Dart Programming - Exceptions
- Dart Programming - Packages
- Dart Programming - Generics
- Dart Programming - Collection
- Dart Programming - Object
- Dart Programming - Classes
- Dart Programming - Interfaces
- Dart Programming - Functions
- Dart Programming - Enumeration
- Dart Programming - Runes
- Dart Programming - Symbol
- Dart Programming - Map
- Dart Programming - Lists
- Dart Programming - Lists
- Dart Programming - Boolean
- Dart Programming - String
- Dart Programming - Numbers
- Dart Programming - Decision Making
- Dart Programming - Loops
- Dart Programming - Operators
- Dart Programming - Variables
- Dart Programming - Data Types
- Dart Programming - Syntax
- Dart Programming - Environment
- Dart Programming - Overview
- Dart Programming - Home
Dart Programming Useful Resources
Selected Reading
- Who is Who
- Computer Glossary
- HR Interview Questions
- Effective Resume Writing
- Questions and Answers
- UPSC IAS Exams Notes
Dart Programming - Operators
An expression is a special kind of statement that evaluates to a value. Every expression is composed of −
Operands − Represents the data
Operator − Defines how the operands will be processed to produce a value.
Consider the following expression – "2 + 3". In this expression, 2 and 3 are operands and the symbol "+" (plus) is the operator.
In this chapter, we will discuss the operators that are available in Dart.
Arithmetic Operators
Equapty and Relational Operators
Type test Operators
Bitwise Operators
Assignment Operators
Logical Operators
Arithmetic Operators
The following table shows the arithmetic operators supported by Dart.
Sr.No | Operators & Meaning |
---|---|
1 | +
Add |
2 | −
Subtract |
3 | -expr
Unary minus, also known as negation (reverse the sign of the expression) |
4 | *
Multiply |
5 | /
Divide |
6 | ~/
Divide, returning an integer result |
7 | %
Get the remainder of an integer spanision (modulo) |
8 | ++
Increment |
9 | --
Decrement |
Equapty and Relational Operators
Relational Operators tests or defines the kind of relationship between two entities. Relational operators return a Boolean value i.e. true/ false.
Assume the value of A is 10 and B is 20.
Operator | Description | Example |
---|---|---|
> | Greater than | (A > B) is False |
< | Lesser than | (A < B) is True |
>= | Greater than or equal to | (A >= B) is False |
<= | Lesser than or equal to | (A <= B) is True |
== | Equapty | (A==B) is False |
!= | Not equal | (A!=B) is True |
Type test Operators
These operators are handy for checking types at runtime.
Operator | Meaning |
---|---|
is | True if the object has the specified type |
is! | False if the object has the specified type |
Bitwise Operators
The following table psts the bitwise operators available in Dart and their role −
Operator | Description | Example |
---|---|---|
Bitwise AND | a & b | Returns a one in each bit position for which the corresponding bits of both operands are ones. |
Bitwise OR | a | b | Returns a one in each bit position for which the corresponding bits of either or both operands are ones. |
Bitwise XOR | a ^ b | Returns a one in each bit position for which the corresponding bits of either but not both operands are ones. |
Bitwise NOT | ~ a | Inverts the bits of its operand. |
Left shift | a ≪ b | Shifts a in binary representation b (< 32) bits to the left, shifting in zeroes from the right. |
Signpropagating right shift | a ≫ b | Shifts a in binary representation b (< 32) bits to the right, discarding bits shifted off. |
Assignment Operators
The following table psts the assignment operators available in Dart.
Sr.No | Operator & Description |
---|---|
1 | =(Simple Assignment )
Assigns values from the right side operand to the left side operand Ex:C = A + B will assign the value of A + B into C |
2 | ??=
Assign the value only if the variable is null |
3 | +=(Add and Assignment)
It adds the right operand to the left operand and assigns the result to the left operand. Ex: C += A is equivalent to C = C + A |
4 | ─=(Subtract and Assignment)
It subtracts the right operand from the left operand and assigns the result to the left operand. Ex: C -= A is equivalent to C = C – A |
5 | *=(Multiply and Assignment)
It multippes the right operand with the left operand and assigns the result to the left operand. Ex: C *= A is equivalent to C = C * A |
6 | /=(Divide and Assignment)
It spanides the left operand with the right operand and assigns the result to the left operand. |
Note − Same logic apppes to Bitwise operators, so they will become ≪=, ≫=, ≫=, ≫=, |= and ^=.
Logical Operators
Logical operators are used to combine two or more conditions. Logical operators return a Boolean value. Assume the value of variable A is 10 and B is 20.
Operator | Description | Example |
---|---|---|
&& | And − The operator returns true only if all the expressions specified return true |
(A > 10 && B > 10) is False. |
|| | OR − The operator returns true if at least one of the expressions specified return true |
(A > 10 || B > 10) is True. |
! | NOT − The operator returns the inverse of the expression’s result. For E.g.: !(7>5) returns false |
!(A > 10) is True. |
Conditional Expressions
Dart has two operators that let you evaluate expressions that might otherwise require ifelse statements −
condition ? expr1 : expr2
If condition is true, then the expression evaluates expr1 (and returns its value); otherwise, it evaluates and returns the value of expr2.
expr1 ?? expr2
If expr1 is non-null, returns its value; otherwise, evaluates and returns the value of expr2
Example
The following example shows how you can use conditional expression in Dart −
void main() { var a = 10; var res = a > 12 ? "value greater than 10":"value lesser than or equal to 10"; print(res); }
It will produce the following output −
value lesser than or equal to 10
Example
Let’s take another example −
void main() { var a = null; var b = 12; var res = a ?? b; print(res); }
It will produce the following output −
12Advertisements