logo

Precedenza degli operatori Java

In questa sezione impareremo il operatore precedenza in Java insieme ad esempi.

Cos'è la precedenza degli operatori?

IL precedenza dell'operatore rappresenta il modo in cui due espressioni sono legate insieme. In un'espressione, determina il raggruppamento degli operatori con gli operandi e decide come verrà valutata un'espressione.

Mentre si risolve un'espressione è necessario tenere presente due cose, la prima è a precedenza e il secondo lo è associatività .

Precedenza degli operatori Java

Precedenza

La precedenza è la priorità per raggruppare diversi tipi di operatori con i relativi operandi. Ha significato solo se un'espressione ha più di un operatore con precedenza più alta o più bassa. Gli operatori con la precedenza più alta vengono valutati per primi. Se vogliamo valutare prima gli operatori con precedenza inferiore, dobbiamo raggruppare gli operandi utilizzando parentesi e poi valutare.

Associatività

Dobbiamo seguire l'associatività se un'espressione ha più di due operatori con la stessa precedenza. In tal caso, è possibile risolvere anche un'espressione da sinistra a destra O da destra a sinistra, di conseguenza.

Tabella di precedenza degli operatori Java

La tabella seguente descrive la precedenza e l'associatività degli operatori utilizzati in Java.

Precedenza Operatore Tipo Associatività
quindici ()
[]
·
Parentesi
Pedice dell'array
Selezione dei membri
Da sinistra a destra
14 ++
--
Post-incremento unario
Post-decremento unario
Da destra a sinistra
13 ++
--
+
-
!
~
(tipo)
Preincremento unario
Predecremento unario
Più unario
Meno unario
Negazione logica unaria
Complemento bit a bit unario
Cast di tipo unario
Da destra a sinistra
12 *
/
%
Moltiplicazione
Divisione
Modulo
Da sinistra a destra
undici +
-
Aggiunta
Sottrazione
Da sinistra a destra
10 <<
>>
>>>
Spostamento a sinistra bit per bit
Spostamento a destra bit per bit con estensione del segno
Shift a destra bit per bit con estensione zero
Da sinistra a destra
9 <
<=
>
>=
istanza di
Relazionale meno di
Relazionale minore o uguale
Relazionale maggiore di
Relazionale maggiore o uguale
Confronto di tipi (solo oggetti)
Da sinistra a destra
8 ==
!=
Relazionale è uguale a
Relazionale non è uguale a
Da sinistra a destra
7 & AND bit per bit Da sinistra a destra
6 ^ OR esclusivo bit per bit Da sinistra a destra
5 | OR inclusivo bit per bit Da sinistra a destra
4 && AND logico Da sinistra a destra
3 || OR logico Da sinistra a destra
2 ? : Condizionale ternario Da destra a sinistra
1 =
+=
-=
*=
/=
%=
Incarico
Compito aggiuntivo
Assegnazione della sottrazione
Compito di moltiplicazione
Assegnazione della divisione
Assegnazione del modulo
Da destra a sinistra

Nota: maggiore è il numero, maggiore è la precedenza.

Esempio di precedenza degli operatori Java

Capiamo la precedenza degli operatori attraverso un esempio. Considera la seguente espressione e indovina la risposta.

 1 + 5 * 3 

Potresti pensare che la risposta sarebbe 18 ma non è così. Perché l'operatore di moltiplicazione (*) ha una precedenza maggiore rispetto all'operatore di addizione (+). Pertanto, l'espressione valuta prima 5*3 e poi valuta l'espressione rimanente, ovvero 1+15. Pertanto, la risposta sarà 16 .

Vediamo un altro esempio. Considera la seguente espressione.

 x + y * z / k 

Nell'espressione precedente, le operazioni * e / vengono eseguite prima di + a causa della precedenza. y viene moltiplicato per z prima di essere diviso per k a causa dell'associatività.