GLI OPERATORI IN JAVA
GLI OPERATORI DI ASSEGNAMENTO COMPOSTI
Partiamo subito con un esempio. Dalla figura sotto riportata si nota che abbiamo preso il valore della variabile x (10) abbiamo aggiunto 5 e abbiamo assegnato il risultato alla variabile x.
Vediamo la forma contratta a fianco che ha lo stesso significato.
x+=5 -> x = x + 5
Esistono forme di assegnamento composto per tutti gli operatori aritmetici:
+=;-=;*=;/=;%=
L’utilizzo di queste forme è molto frequente in Java, quindi è bene capirle sin da subito.
GLI OPERATORI DI CONFRONTO
Utilizziamo tali operatori per eseguire un confronto vero e proprio tra due valori.
Questi operatori producono sempre come risultato un valore booleano (true o false). I due operatori di uguaglianza == e disuguaglianza != possono essere usati per confrontare valori di qualunque tipo, valori primitivi e oggetti. Gli altri operatori li possiamo usare solo per confrontare i tipi di dato primitivi.
OPERATORI LOGICI
Ci permettono di formare espressioni booleane anche complesse che ritornano true o false.
Si possono formare espressioni complesse, infatti tali operatori possono essere combinati fra loro. Si applicano a operandi di tipo boolean, per capire come funzionano questi operatori la cosa migliore è esaminare le loro tabelle di verità. L’operatore AND restituisce true solo quando si combinano operandi che sono true.
L’operatore OR restituisce false solo quando si combinano operandi che sono entrambe false, in tutti gli altri casi restituisce true.
L’operatore XOR restituisce true quando gli operandi confrontati sono diversi, false quando sono uguali.
L’operatore NOT nega (inverte) l’operando su cui viene applicato.
FACCIAMO UN ESEMPIO, ALTRI NE TROVERAI NEL CODICE SCARICABILE DA GITHUB
GLI OPERATORI LOGICI SHORT-CIRCUIT
Questi operatori sono due AND e OR e sono delle varianti rispetto a quelli già esaminati. Servono a rendere più efficiente il nostro codice, tra un pò vedremo il perché. Vediamo come si scrivono questi due operatori:
&& = AND Logico Condizionale
|| = OR Logico Condizionale
Vediamo quali sono le particolarità di questi due operatori e perché parliamo di short-circuit.
Al termine dell’ultima istruzione otterremo b = false e y = 11. Questo perché l’AND logico & valuta anche la seconda condizione anche se superflua. Infatti essendo false la prima espressione la restante parte di codice potrebbe anche non essere eseguita essendo il risultato già acquisito.
Il motivo per cui si chiama short-circuit è questo: Di fatto se la prima parte dell’espressione fallisce allora l’intera espressione è false. L’AND && produce un corto circuito in quanto la seconda parte dell’espressione non viene valutata. Questo comporta che anche la variabile y non venga incrementata, infatti il post incremento non viene eseguito. Vediamo ora cosa succede con l’OR condizionale.
Analizzando la prima parte dell’espressione già si capisce che sarà vera l’intera espressione. L’operatore | esamina entrambe le condizioni, quindi anche y viene incrementata.
Anche in questo caso per migliorare le performance, la seconda parte dell’espressione non viene valutata.
LINK AI POST PRECEDENTI
LINK AL CODICE SU GITHUB
ESECUZIONE DEL CODICE DI ESEMPIO
- Scaricare il codice da GITHUB, lanciare il file JAR con il seguente comando in Visual Studio Code, posizionandosi nella directory contenente il JAR.
java -jar –enable-preview CorsoJava.jar
- Oppure mettere in esecuzione il main che si trova nel file CorsoJava.java.
Scrivi un commento