Operatore |
Operazione |
Esempi |
+ |
concatenazione |
a + b "Ciao da " + nome |
Nota:
l'operatore + tra numeri interi esegue la somma degli stessi fino a quando non una stringa; da
quel
momento in poi esegue la concatenazione
Esempi:
"abc" + "def" restituisce "abcdef"
"3"+"2"+"abcdef" restituisce "32abcdef"
3+2+"abcdef" restituisce "5abcdef"
Per eseguire la concatenazione dall'inizio dell'espressione si può concatenare una stringa vuota
ad
inizio espressione, come mostrato di seguito:
""+3+2+"abcdef" restituisce "32abcdef"
Operatore |
Operazione |
Esempi |
+= |
somma e assegnamento |
a += 10 → a = a + 10 a += b → a
= a
+ b
|
-= |
differenza e assegnamento |
a -= 10 → a = a - 10 a -= b → a
= a
- b
|
*= |
prodotto e assegnamento |
a *= 10 → a = a * 10 a *= b → a
= a
* b
|
/= |
divisione e assegnamento |
a /= 10 → a = a / 10 a /= b → a
= a
/ b
|
%= |
modulo e assegnamento |
a %= 10 → a = a % 10 a %= b → a
= a
% b
|
&= |
and bitwise e assegnamento |
a &= b → a = a & b |
|= |
or bitwise e assegnamento |
a != b → a = a | b |
^= |
xor bitwise e assegnamento |
a ^= b → a = a ^ b |
>>= |
shift a destra e assegnamento |
a >>= 2 → a = a >> 2 |
<<= |
shift a sinistra e assegnamento |
a <<= 2 → a = a << 2 |
>>>= |
shift a destra senza segno e assegnamento |
a >>>= 2 → a = a >>> 2 |
Nota:
Gli operatori hanno una priorità che determina l'ordine in cui
essi
saranno valutati, in assenza di
specifica esplicita da parte del programmatore, attraverso l'uso delle parentesi tonde.
In generale gli operatori unari hanno priorità, seguono quelli binari con un ordine di priorità
specifico.
Per evitare, ad ogni modo, risultati non attesi, si consiglia l'utilizzo
esplicito delle parentesi tonde,
per determinare l'ordine di esecuzione delle operazioni più articolate.
Nella tabella che segue sono indicati gli operatori in Java in ordine di priorità decrescente,
dall'alto
verso il basso.
operatori postfissi |
espr++ espr-- |
operatori unari |
++espr --espr -espr !espr |
operatori moltiplicativi |
* / % |
operatori additivi |
+ - |
operatori relazionali |
< <=> >=
|
operatori di uguaglianza |
== != |
AND bitwise |
& |
XOR bitwise |
^ |
OR bitwise |
| |
AND logico |
&& |
OR logico |
|| |
operatori di assegnazione |
= += -= *= /= %= &= |= ^= <<=>>= >>>= |
Nota:
Gli operatori sono valutati in base alla priorità e per uguale priorità
da
sinistra a destra.
Gli operatori binari sono associativi a sinistra, cioè per
esempio
a+b+c
equivale a (a+b)+c: le
assegnazioni sono associative a destra, cioè a=b=c equivale a
a=(b=c).