 How Operators Work in Java - dummies

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
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.