In this Java programming tutorial, we will take a look at the different math operators available in Java and how to use them to perform mathematical equations. We will also touch on some of the more advanced topics, such as operator precedence and associativity. By the end of this Java guide, you should have a good understanding of how to work with math operators in Java and use the Java Class.
An Intro to Operators in Java
Operators are one of the most common features of a programming language. They allow programmers to perform mathematical, logical, and other operations on data.
Java operators can be grouped into three categories: arithmetic, logical, and relational. Arithmetic operators include: addition (+), subtraction (), multiplication (*), and division (/). Logical operators include: AND (&&), OR (), and NOT (!).
Read: Tips to Improve Performance in Java Applications
Understanding Java Math Operators
Math operators are symbols that indicate which operation to perform in a mathematical expression. These are the symbols that perform arithmetic operations on two operands. An operand can be a constant, an expression, or a variable. When an expression is evaluated, the data type of the resultant depends on the data type of the operands of the expression.
The Java math operators can be categorized as follows:

 Arithmetic Operators: Addition (+), Subtraction (–), Multiplication (*), Division (/), Remainder (%) and Unary Minus (–).
 Logical Operators: AND (), OR (), and NOT ().
 Relational Operators: Greater Than (>), Less Than (<), and Equal To (=).
 Remainder %
Java Arithmetic Operators
The six arithmetic operators in Java are:


 Addition (+)
 Subtraction ()
 Multiplication (*)
 Division (/)
 Modulus (%)
 Increment (++) and decrement (–)

Java Logical Operators
Logical operators are used to combine conditional statements. You can use them when you want to make multiple decisions based on a set of conditions. They evaluate multiple conditions and return a single boolean value.
There are three logical operators in Java:
&& is the AND operator, which returns true if all the conditions in the parameter list are true, and false otherwise
 is the OR operator, which returns true if at least one of the conditions in the parameter list is true, and false otherwise.
! is the NOT operator, which returns true if its only condition is false and vice versa.
Read: Working with the ValueType in Java
Java Assignment Operators
Assignment operators (represented using the = sign) allow you to assign a value to a variable. In an expression, the left operand must be a variable, and the right operand can be a variable, a constant, or even another expression.
The following Java code snippet illustrates how to use the assignment operator in Java:
int x = 123; int y = a + b; String str = "Hello World!";
Unary, Binary, and Ternary Operators in Java
The Java programming language provides support for many different operators. These are evaluated from left to right and have what are known as precedence rules (meaning which order the calculations are performed in; operators with a higher precedence are evaluated first).
Operators can be overloaded as well, meaning that you can redefine them for use in classes that you create. Depending on the number of operands, an operator can be unary (works on one operand) or binary (works using two operands). The operators increment/decrement (++ –), negate (–), and bitwise complement (~) are examples of unary operators. The arithmetic (+,–, *, /, %) and relational (, = ) operators are examples of binary operators.
Ternary operators are those that work with three operands. When the ternary operator is applied in an expression, it evaluates to true or false depending on whether the condition stated is true.
The following Java code example illustrates how a ternary operator can be used in Java:
String message = (x >= 10) ? "Greater than or equal to 10" : "Less than 10";
Read: How to Use Lists in Your Java GUI Applications
What is Java Math Operator Precedence?
The order in which operators are evaluated is determined by operator precedence. When an expression includes several operators with varying precedence, the operators with the highest priority are evaluated first, followed by those with the lowest priority. For example, multiplication, division, and modulo operations have a higher precedence than addition and subtraction operations.
There are two important points to note when using Java operators:



 Multiplication, division, and modulo operations have precedence over addition and subtraction operations.
 Plus and minus operators have the same precedence. Operators with the same precedence are evaluated from left to right.


Here are a few code examples that illustrate how we can work with math operators in Java.
int result = 2 + 3 * 4; // This expression evaluates to 14 (i.e., 2 + 12)
Note that, if the operators have the same precedence, they are evaluated from left to right. For example:
int result = 2  3 + 4; // This expression evaluates to 3 (i.e., 2 – 3 + 4)
Programming the Math Class in Java
The Math class contains methods for finding the maximum and minimum of two numbers, rounding a number, finding the square root of a number, checking if a number is greater than or equal to another number, and more.
The Math class is a final class and it contains only static methods. That means you cannot extend the Math class and it cannot be used in an inheritance hierarchy. There are no constructors in the Math class. It has only static fields (a few constants) and static methods (operations on numbers).
The methods in the Math class in Java provide support for basic numeric operations. These operations include such as addition, subtraction, multiplication and division and even trigonometric and logarithmic functions. It provides several methods such as min(), max(), avg(), round(), ceil(), floor(), abs(), sin(), cos(), tan(), and so forth.
Let’s take a look at some examples of using the Java Math class:
int x = 5; int y = 6; Math.min(x,y)  this code will return 5 because that is the lesser of x and y. Math.max(x,y)  this code will return 6 because that is the greater of x and y. Math.sqrt(x)  this code will return 2 because 2 * 2 = 4 which rounds up to 5 (the square root of 5).
Final Thoughts on Java Math Operators and Math Class
Java comes with a collection of builtin math operators that may be used to perform both basic and complicated mathematical operations. In this Java programming tutorial, we have had a look at how we can work with math operators and the Math class in Java, alongside coding examples to illustrate their use.