# Operators in Dart

**Operators In Dart**

Operators are used to perform mathematical and logical operations on the variables. Each operation in dart uses a symbol called the operator to denote the type of operation it performs. Before learning operators in the dart, you must understand the following things.

**Operands**: It represents the data.**Operator**: It represents how the operands will be processed to produce a value.

**Note**: Suppose the given expression is 2 + 3. Here 2 and 3 are operands, and `+`

is the operator.

**Types Of Operators**

There are different types of operators in dart. They are as follows:

**Arithmetic Operators****Increment and Decrement Operators****Assignment Operators****Logical Operators****Type Test Operators**

**Arithmetic Operators**

Arithmetic operators are the most common types of operators. They perform operations like addition, subtraction, multiplication, division, etc.

Operator Symbol | Operator Name | Description |
---|---|---|

`+` |
Addition | For adding two operands |

`-` |
Subtraction | For subtracting two operands |

`-expr` |
Unary Minus | For reversing the sign of the expression |

`*` |
Multiplication | For multiplying two operands |

`/` |
Division | For dividing two operands and give output in double |

`~/` |
Integer Division | For dividing two operands and give output in integer |

`%` |
Modulus | Remainder After Integer Division |

Let’s look at how to perform arithmetic calculations in dart.

```
void main() {
// declaring two numbers
int num1=10;
int num2=3;
// performing arithmetic calculation
int sum=num1+num2; // addition
int diff=num1-num2; // subtraction
int unaryMinus = -num1; // unary minus
int mul=num1*num2; // multiplication
double div=num1/num2; // division
int div2 =num1~/num2; // integer division
int mod=num1%num2; // show remainder
//Printing info
print("The addition is $sum.");
print("The subtraction is $diff.");
print("The unary minus is $unaryMinus.");
print("The multiplication is $mul.");
print("The division is $div.");
print("The integer division is $div2.");
print("The modulus is $mod.");
}
```

Run Online

**Increment and Decrement Operators**

With increment and decrement operators, you can increase and decrease values. If ++ is used at the beginning, then it is a prefix. If it is used at last, then it is postfix.

Operator Symbol | Operator Name | Description |
---|---|---|

`++var` |
Pre Increment | Increase Value By 1. var = var + 1 Expression value is var+1 |

`--var` |
Pre Decrement | Decrease Value By 1. var = var - 1 Expression value is var-1 |

`var++` |
Post Increment | Increase Value By 1. var = var + 1 Expression value is var |

`var--` |
Post Decrement | Decrease Value By 1. var = var - 1 Expression value is var |

**Note**: ++var increases the value of operands, whereas var++ returns the actual value of operands before the increment.

```
void main() {
// declaring two numbers
int num1=0;
int num2=0;
// performing increment / decrement operator
// pre increment
num2 = ++num1;
print("The value of num2 is $num2");
// reset value to 0
num1 = 0;
num2 = 0;
// post increment
num2 = num1++;
print("The value of num2 is $num2");
}
```

Run Online

**Assignment Operators**

It is used to assign some values to variables. Here, we are assigning 24 to the age variable.

```
int age = 24;
```

Operator Type | Description |
---|---|

`=` |
Assign a value to a variable |

`+=` |
Adds a value to a variable |

`-=` |
Reduces a value to a variable |

`*=` |
Multiply value to a variable |

`/=` |
Divided value by a variable |

```
void main() {
double age = 24;
age+= 1; // Here age+=1 means age = age + 1.
print("After Addition Age is $age");
age-= 1; //Here age-=1 means age = age - 1.
print("After Subtraction Age is $age");
age*= 2; //Here age*=2 means age = age * 2.
print("After Multiplication Age is $age");
age/= 2; //Here age/=2 means age = age / 2.
print("After Division Age is $age");
}
```

Run Online

**Relational Operators**

Relational operators are also called comparison operators. They are used to make a comparison.

Operator Symbol | Operator Name | Description |
---|---|---|

`>` |
Greater than | Used to check which operand is bigger and gives result as boolean |

`<` |
Less than | Used to check which operand is smaller and gives result as boolean |

`>=` |
Greater than or equal to | Used to check which operand is bigger or equal and gives result as boolean |

`<=` |
Less than or equal to | Used to check which operand is smaller or equal and gives result as boolean |

`==` |
Equal to | Used to check operands are equal to each other and gives result as boolean |

`!=` |
Not equal to | Used to check operand are not equal to each other and gives result as boolean |

```
void main() {
int num1=10;
int num2=5;
//printing info
print(num1==num2);
print(num1<num2);
print(num1>num2);
print(num1<=num2);
print(num1>=num2);
}
```

Run Online

**Logical Operators**

It is used to compare values.

Operator Type | Description |
---|---|

`&&` |
This is ‘and’, return true if all conditions are true |

`||` |
This is ‘or’. Return true if one of the conditions is true |

`!` |
This is ’not’. return false if the result is true and vice versa |

```
void main(){
int userid = 123;
int userpin = 456;
// Printing Info
print((userid == 123) && (userpin== 456)); // print true
print((userid == 1213) && (userpin== 456)); // print false.
print((userid == 123) || (userpin== 456)); // print true.
print((userid == 1213) || (userpin== 456)); // print true
print((userid == 123) != (userpin== 456));//print false
}
```

**Type Test Operators**

In Dart, type test operators are useful for checking types at runtime.

Operator Symbol | Operator Name | Description |
---|---|---|

`is` |
is | Gives boolean value true if the object has a specific type |

`is!` |
is not | Gives boolean value false if the object has a specific type |

```
void main() {
String value1 = "Dart Tutorial";
int age = 10;
print(value1 is String);
print(age is !int);
}
```

Run Online

**Video**

Watch our video on the operators in Dart.