# How Operators Work in Java

An *operator *in Java is a special symbol or keyword that’s used to designate a mathematical operation or some other type of operation that can be performed on one or more values, called *operands**.* In all, Java has about 40 operators. This section focuses on the operators that do basic arithmetic.

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

+ | Addition |

- | Subtraction |

* | Multiplication |

/ | Division |

% | Remainder (modulus) |

++ | Increment |

-- | Decrement |

The following code should clarify how these operators work for int types:

int a = 21, b = 6; int c = a + b; // c is 27 int d = a – b; // d is 15 int e = a * b; // e is 126 int f = a / b; // f is 3 (21 / 6 is 3 remainder 3) int g = a % b; // g is 3 (20 / 6 is 3 remainder 3) a++; // a is now 22 b--; // b is now 5

Notice that for division, the result is truncated. Thus, 21 / 6 returns 3, not 3.5.

Here’s how the operators work for double values:

double x = 5.5, y = 2.0; double m = x + y; // m is 7.5 double n = x - y; // n is 3.5 double o = x * y; // o is 11.0 double p = x / y; // p is 2.75 double q = x % y; // q is 1.5 x++; // x is now 6.5 y--; // y is now 1.0

The remainder operator (%) returns the remainder when the first operand is divided by the second operand. This operator is often used to determine whether one number is evenly divisible by another, in which case the result is 0 (zero).

The order in which the operations are carried out is determined by the *precedence *of each operator in the expression. The order of precedence for the arithmetic operators is

Increment (++) and decrement (--) operators are evaluated first.

Next, sign operators (+ or –) are applied.

Then multiplication (*), division (/), and remainder (%) operators are evaluated.

Finally, addition (+) and subtraction (–) operators are applied.

If an expression contains two or more operators at the precedence level (for example, two or more increment or decrement operators), the operators are evaluated from left to right.

Of course, you can use parentheses to change the order in which operations are performed.