0% found this document useful (0 votes)
49 views

Associativity of Operators in Java - Javatpoint

This document discusses the associativity of operators in Java. It explains that associativity specifies the order in which operators are executed when they have the same precedence, whether from left to right or right to left. It also provides a table of operator precedence in Java from highest to lowest.

Uploaded by

ishwar khalkar
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
49 views

Associativity of Operators in Java - Javatpoint

This document discusses the associativity of operators in Java. It explains that associativity specifies the order in which operators are executed when they have the same precedence, whether from left to right or right to left. It also provides a table of operator precedence in Java from highest to lowest.

Uploaded by

ishwar khalkar
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

4/22/24, 8:41 PM Associativity of Operators in Java - Javatpoint

ADVERTISEMENT

Associativity of Operators in Java


A Java operator is a special symbol that performs a certain operation on multiple operands and
gives the result as an output.

Java has a large number of operators that are divided into two categories. First, an operator's
performance is based on the number of operands it performs on. Second, the type or nature of
the operation performed by an operator.

Operators can be categorized into the following groups based on the sort of operation they
perform:

1. Arithmetic Operators

2. Increment Decrement Operators

3. Assignment Operators

4. Bitwise Operators

5. Relational Operators

6. Logical Operators

7. Miscellaneous Operators

Java Operators Precedence and Associativity

Precedence and associativity are two features of Java operators. When there are two or more
operators in an expression, the operator with the highest priority will be executed first.

https://www.javatpoint.com/associativity-of-operators-in-java 2/8
4/22/24, 8:41 PM Associativity of Operators in Java - Javatpoint

For example, consider the equation, 1 + 2 * 5. Here, the multiplication (*) operator is executed
first, followed by addition. Because multiplication operator takes precedence over the addition
operator.

Alternatively, when an operand is shared by two operators (2 in the example above is shared by
+ and *), the higher priority operator processes the shared operand. You should have grasped
the significance of precedence or priority in the execution of operators from the preceding
example.

However, the situation may not always be as obvious as in the example above. What if the
precedence of all operators in an expression is the same? In that instance, the second quality
associated with an operator, associativity, comes into existence.

Associativity specifies the order in which operators are executed, which can be left to right or
right to left. For example, in the phrase a = b = c = 8, the assignment operator is used from
right to left. It means that the value 8 is assigned to c, then c is assigned to b, and at last b is
assigned to a. This phrase can be parenthesized as (a = (b = (c = 8)).

The priority of a Java operator can be modified by putting parenthesis around the lower order
priority operator, but not the associativity. In the equation (1 + 2) * 3, for example, the addition
will be performed first since parentheses take precedence over the multiplication operator.

Operator Precedence in Java (Highest to Lowest)

Category Operators Associativity

Postfix ++ - - Left to right

Unary + - ! ~ ++ - - Right to left

Multiplicative */% Left to right

Additive +- Left to right

Shift << >> Left to right

Relational < <= > >= Left to right

https://www.javatpoint.com/associativity-of-operators-in-java 3/8
4/22/24, 8:41 PM Associativity of Operators in Java - Javatpoint

Equality == != Left to right

Bitwise AND & Left to right

Bitwise XOR ^ Left to right

Bitwise OR | Left to right

Logical AND && Left to right

Logical OR || Left to right

Conditional ?: Right to left

Assignment = += -= *= /= %=>>= <<= &= ^= |= Right to left

Java Operator Associativity

Operators with the same precedence follow the operator group's operator associativity.
Operators in Java can be left-associative, right-associative, or have no associativity at all. Left-
associative operators are assessed from left to right, right-associative operators are reviewed
from right to left, and operators with no associativity are evaluated in any order.

Operator Precedence Vs. Operator Associativity


The operator's precedence refers to the order in which operators are evaluated within an
expression whereas associativity refers to the order in which the consecutive operators within
the same group are carried out.

Precedence rules specify the priority (which operators will be evaluated first) of operators.

https://www.javatpoint.com/associativity-of-operators-in-java 4/8

You might also like