# Training of Java operators (in quite simple language)

# Operators are special symbols (characters) that perform operations on operands (variables and values). For example, the + operator is a plural.

## Assignment Operator

Assignment operators in Java are used to assign values to variables. For example

int age;

age = 5;

The assignment operator assigns its right value to the variable on its left. Here, 5 is assigned to the age variable using the = operator.

There are other assignment operators. However, for convenience, we will train other assignment operators later.

**Example 1: Assignment operator**

- class AssignmentOperator {
- public static void main (String [] args) {
- int number1, number2;
- // Assigning 5 to number1
- number1 = 5;
- System.out.println (number1);
- // Assigning value of variable number2 to number1
- number2 = number1;
- System.out.println (number2);
- }
- }

**Output**

5

5

## Mathematical Operators

Mathematical operators are used to perform mathematical operations such as addition, subtraction, multiplication, and so on.

**Example 2: Mathematical operator**

- class ArithmeticOperator {
- public static void main (String [] args) {
- double number1 = 12.5, number2 = 3.5, result;
- // Using addition operator
- result = number1 + number2;
- System.out.println (“number1 + number2 =” + result);
- // Using subtraction operator
- result = number1 – number2;
- System.out.println (“number1 – number2 =” + result);
- // Using multiplication operator
- result = number1 * number2;
- System.out.println (“number1 * number2 =” + result);
- // Using division operator
- result = number1 / number2;
- System.out.println (“number1 / number2 =” + result);
- // Using remainder operator
- result = number1% number2;
- System.out.println (“number1% number2 =” + result);
- }
- }

**Output**

number1 + number2 = 16.0

number1 – number2 = 9.0

number1 * number2 = 43.75

number1 / number2 = 3.5714285714285716

number1% number2 = 2.0

In the example above, all operands used are variable. Numbers can also be used, they do not have to be variable.

result = number1 + 5.2;

result = 2.3 + 4.5;

number2 = number1 -2.9;

The + operator can also be used to join two or more strings.

**Example 3: Mathematical operator**

- class ArithmeticOperator {
- public static void main (String [] args) {
- String start, middle, end, result;
- start = “Talk is cheap. “;
- middle = “Show me the code. “;
- end = “- Linus Torvalds”;
- result = start + middle + end;
- System.out.println (result);
- }
- }

**Output**

Talk is cheap. Show me the code. – Linus Torvalds

**Unit operators**

Operations are performed on only one operand.

**Example 4: Unit operator**

- class UnaryOperator {
- public static void main (String [] args) {
- double number = 5.2, resultNumber;
- boolean flag = false;
- System.out.println (“+ number =” + + number);
- // number is equal to 5.2 here.
- System.out.println (“- number =” + -number);
- // number is equal to 5.2 here.
- // ++ number is equivalent to number = number + 1
- System.out.println (“number =” + ++ number);
- // number is equal to 6.2 here.
- // – number is equivalent to number = number – 1
- System.out.println (“number =” + –number);
- // number is equal to 5.2 here.
- System.out.println (“! Flag =” +! Flag);
- // flag is still false.
- }
- }

**Output**

+ number = 5.2

-number = -5.2

number = 6.2

number = 5.2

! flag = true

You can also use ++ and – as prefixes and extensions in Java. The ++ operator increases the value by 1 unit and – decreases the value by 1 unit.

int myInt = 5;

++ myInt // myInt becomes 6

myInt ++ // myInt becomes 7

–MyInt // myInt becomes 6

myInt– // myInt becomes 5

There is a fundamental difference when using incremental and decrement operators as prefixes and suffixes. Consider the following example,

- class UnaryOperator {
- public static void main (String [] args) {
- double number = 5.2;
- System.out.println (number ++);
- System.out.println (number);
- System.out.println (++ number);
- System.out.println (number);
- }
- }

**Output**

5.2

6.2

7.2

7.2

When ordered

System.out.println (number ++)

Runs, first prints the original value and then increments one unit. That’s why the output is 5.2. Then, when

System.out.println (number)

Runs, prints 6.2.

But, when

System.out.println (++ number)

Runs, before printing on the screen, its value increases by 1 unit.

For – the same is true.

## Equality and relational operators

Equality and relational operators determine the relationship between two operators. Checks that one operand is larger, smaller, equal, unequal, and از larger than another. Depending on the relationship, the result is right or wrong.

Equality and relational operators are used in decision making and loops.

**Example 6: Equality and relational operators**

- class RelationalOperator {
- public static void main (String [] args) {
- int number1 = 5, number2 = 6;
- if (number1> number2)
- {
- System.out.println (“number1 is greater than number2.”);
- }
- else
- {
- System.out.println (“number2 is greater than number1.”);
- }
- }
- }

**Output**

number2 is greater than number1.

Here, we used <to check if number1 is greater than number2.

Because number2 is greater than number1, the expression number1> number2 is considered incorrect.

Hence, the else part code is executed and if the condition is true, the code inside the if body is executed.

Remember that equality and relational operators compare two operators and evaluate them as true or false.

In addition to relational operators, there is an example comparative operator that compares an instance of an object with a specific type.

## The instanceof operator

Here is an example of an instanceof operator.

- class instanceofOperator {
- public static void main (String [] args) {
- String test = “asdf”;
- boolean result;
- result = instanceof test String;
- System.out.println (result);
- }
- }

When you run the program, the output will be true. This is because test is an example of a String class.

Logical operators

Logical Operators || (Conditional-OR) and && (Conditional-AND) work with Boolean expressions.

**Example 8: Logical operator**

- class LogicalOperator {
- public static void main (String [] args) {
- int number1 = 1, number2 = 2, number3 = 9;
- boolean result;
- // At least one expression needs to be true for result to be true
- result = (number1> number2) || (number3> number1);
- // result will be true because (number1> number2) is true
- System.out.println (result);
- // All expression must be true from result to be true
- result = (number1> number2) && (number3> number1);
- // result will be false because (number3> number1) is false
- System.out.println (result);
- }
- }

**Output**

true

false

Logical operators are used in decision making and looping.

## Triple operators

Conditional operator or triple operator?: Is an abbreviated if-else structure. The syntax of the conditional operator is:

variable = Expression? expression1: expression2

Here’s how it works.

- If Expression is true, the value of expression1 is assigned to the variable.
- If Expression is false, the value of expression2 is assigned to the variable.

**Example 9: Triple operator**

- class ConditionalOperator {
- public static void main (String [] args) {
- int februaryDays = 29;
- String result;
- result = (februaryDays == 28)? “Not a leap year”: “Leap year”;
- System.out.println (result);
- }
- }

**Output**

Leap year

## Bitwise and Bit Shift operators

These operators are used to perform bit operations and bit shifts in Java.

These operators are not commonly used.

## Other assignment operators

We only talked about one assignment operator = at the beginning of the tutorial. In addition to this operator, there are other assignment operators that help us write cleaner code.