Loading

Operators

An operator is the most basic action that can be taken to evaluate values in a script. An expression is one-to-many consecutive operations. Precedence is the order in which an operator will be evaluated relative to another operator. Associativity is the direction within an expression in which a specific operator is evaluated. The following table lists all available operators:

Operator Category Symbol(s) Precedence Associativity
Precedence General () 0 left → right
Method Call Reference . () 1 left → right
Field Access Reference . 1 left → right
Null Safe Reference ?. 1 left → right
Function Call General () 1 left → right
Array Initialization Array [] {} 1 left → right
Array Access Array [] 1 left → right
Array Length Array . 1 left → right
List Initialization Reference [] 1 left → right
List Access Reference [] 1 left → right
Map Initialization Reference [:] 1 left → right
Map Access Reference [] 1 left → right
Post Increment Numeric ++ 1 left → right
Post Decrement Numeric 1 left → right
Pre Increment Numeric ++ 2 right → left
Pre Decrement Numeric 2 right → left
Unary Positive Numeric + 2 right → left
Unary Negative Numeric - 2 right → left
Boolean Not Boolean ! 2 right → left
Bitwise Not Numeric ~ 2 right → left
Cast General () 3 right → left
New Instance Reference new () 3 right → left
New Array Array new [] 3 right → left
Multiplication Numeric * 4 left → right
Division Numeric / 4 left → right
Remainder Numeric % 4 left → right
String Concatenation Reference + 5 left → right
Addition Numeric + 5 left → right
Subtraction Numeric - 5 left → right
Left Shift Numeric << 6 left → right
Right Shift Numeric >> 6 left → right
Unsigned Right Shift Numeric >>> 6 left → right
Greater Than Boolean > 7 left → right
Greater Than Or Equal Boolean >= 7 left → right
Less Than Boolean < 7 left → right
Less Than Or Equal Boolean <= 7 left → right
Instanceof Boolean instanceof 8 left → right
Equality Equals Boolean == 9 left → right
Equality Not Equals Boolean != 9 left → right
Identity Equals Boolean === 9 left → right
Identity Not Equals Boolean !== 9 left → right
Bitwise And Numeric & 10 left → right
Boolean Xor Boolean ^ 11 left → right
Bitwise Xor Numeric ^ 11 left → right
Bitwise Or Numeric | 12 left → right
Boolean And Boolean && 13 left → right
Boolean Or Boolean || 14 left → right
Conditional General ? : 15 right → left
Elvis General ?: 16 right → left
Assignment General = 17 right → left
Compound Assignment General $= 17 right → left