Java Operations · Lesson 1/10
10%
⏱ 10–15 min

Learn Java Arithmetic Operators and Compound Assignment with Examples

1. Basic Arithmetic Operators in Java

The following table lists the basic arithmetic operators (or operations) used in Java:

Arithmetic Operators
Operation     Description
+ Addition (also unary plus)
- Subtraction (also unary minus)
* Multiplication
/ Division
% Modulus (remainder of division)

Here are some rules for working with arithmetic operators:

  • Expressions are evaluated from left to right unless parentheses are used or some operations have higher precedence.
  • The *, /, and % operations have higher precedence than + and -.

Arithmetic Operators with Integer Values

For example, in this code, variables a and b will have different values:

public class BasicIntMath {
    public static void main(String[] args) {
        int a = 4 + 5 - 2 * 3;
        int b = 4 + (5 - 2) * 3;
        System.out.println("a = " + a);
        System.out.println("b = " + b);
    }
}

Output:

a = 3
b = 13

Unary Addition and Subtraction Operations

  • The unary subtraction operation changes the sign of its single operand.
  • The unary addition operation simply returns the value of its operand. It is not necessary but is allowed.
public class UnarySignOperation {
    public static void main(String[] args) {
        double a = -6;
        double b = +6;
        System.out.println(a);
        System.out.println(b);
    }
}

Integer Division in Java

When division is performed on integer types, the result does not contain a fractional component. This is integer division in Java:

public class IntDivision {
    public static void main(String[] args) {
        int a = 16 / 5;
        System.out.println(a);
    }
}

Output:

3

Arithmetic Operators with char Type Variables

Arithmetic operators require numeric types. They cannot be used with boolean data types, but they are allowed for char types, as char is essentially a subtype of int in Java. For example:

public class BasicCharMath1 {
    public static void main(String[] args) {
        char c = 'n';
        System.out.println(c);
        System.out.println(c + 1);
        System.out.println(c / 5);
    }
}

Output:

n
111
22

Or in the following example:

public class BasicCharMath2 {
    public static void main(String[] args) {
        char c1 = '1';
        char c2 = '\u0031';
        char c3 = 49;
        System.out.println(c1 + c2 + c3);
    }
}

Output:

147

Modulus Division in Java

The modulus operator is represented by %. It returns the remainder of division in Java. For integer division, the result is also an integer:

public class DivisionByModule {
    public static void main(String[] args) {
        int a = 6 % 5;
        double b = 6.2 % 5.0;
        System.out.println(a);
        System.out.println(b);
    }
}

Output:

1
1.2000000000000002

2. Compound Arithmetic Operations with Assignment

Compound Assignment Operators
Operation     Description
+= Addition with assignment
-= Subtraction with assignment
*= Multiplication with assignment
/= Division with assignment
%= Modulus with assignment

Java provides special operations that combine arithmetic operators with assignment. Consider the following expression:

a = a + 4;

In Java, this operation can be written as:

a += 4;

Compound assignment operations not only reduce code length but also perform automatic type conversion, which regular operations do not:

public class CompoundOperations {
    public static void main(String[] args) {
        int a = 1;
        int b = 2;
        int c = 3;
        a += 3;
        b *= 2;
        c += a * b;
        System.out.println(a);
        System.out.println(b);
        System.out.println(c);
    }
}

Java Core

1. Java Introduction
2. Run Your First Java App
3. Java Syntax
4. Java Operations
5. Operators
6. Arrays
7. Sorting Algorithms
8. OOP Basics
9. Lambda Expressions
10. Stream API
11. Inner Classes and Exceptions
12. Git & GitHub
‹ Previous lesson Next lesson ›