Appendix B. Java Operator Summary

The Java operators are listed in groups of decreasing precedence in the table below. The horizontal lines in the table indicate a change in operator precedence. For example, z = x - y; means z = (x - y); because = has lower precedence than -.

The prefix unary operators, conditional operator, and the assignment operators associate right-to-left. All other operators associate left-to-right.

Operator

Description

Associativity

.

Access class feature

 

[]

Array subscript

Left to right

()

Function call

 

++

Increment

 

--

Decrement

 

!

Boolean not

 

~

Bitwise not

Right to left

+ (unary)

(Has no effect)

 

- (unary)

Negative

 

(TypeName)

Cast

 

new

Object allocation

 

*

Multiplication

 

/

Division or integer division

Left to right

%

Integer remainder

 

+

Addition, string concatenation

 

-

Subtraction

Left to right

<<

Shift left

 

>>

Right shift with sign extension

Left to right

>>>

Right shift with zero extension

 

<

Less than

 

<=

Less than or equal

 

>

Greater than

Left to right

>=

Greater than or equal

 

instanceof

Tests whether an object's type is a given type or a subtype thereof

 

==

Equal

Left to right

!=

Not equal

 

&

Bitwise and

Left to right

^

Bitwise exclusive or

Left to right

|

Bitwise or

Left to right

&&

Boolean "short circuit" and

Left to right

||

Boolean "short circuit" or

Left to right

? :

Conditional

Right to left

=

Assignment

 

op=

Assignment with binary operator (op is one of +, -, *, /, &, |, ^, <<, >>, >>>)

Right to left

Get Big Java, 4th Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.