Gli operatori logici AND e OR in Java servono a ve­ri­fi­ca­re la cor­ret­tez­za di due requisiti. Entrambe le funzioni si com­por­ta­no in modo simile, ma dif­fe­ri­sco­no per alcuni dettagli. Ti spie­ghia­mo il fun­zio­na­men­to degli operatori OR e AND in Java con alcuni semplici esempi.

AND e OR in Java

Gli operatori Java sono uno strumento im­por­tan­te per lavorare con questo lin­guag­gio di pro­gram­ma­zio­ne. Esistono diverse categorie di operatori, che per­met­to­no di svolgere compiti diversi. Due strumenti che ti saranno par­ti­co­lar­men­te utili per imparare a pro­gram­ma­re in Java sono AND e OR. Entrambi rientrano nella categoria degli operatori e sono uti­liz­za­ti per ve­ri­fi­ca­re la cor­ret­tez­za di uno stato ipotetico. A tal fine danno come risposta un valore booleano. Il valore è “true” se l’espres­sio­ne è corretta oppure “false” se è errata.

L’operatore AND in Java esamina due stati ed emette il valore “true” solo se entrambe le espres­sio­ni sono corrette. In caso contrario, la risposta è “false”. Per esprimere questo operatore si utilizza la dicitura “&&”. Anche l’operatore OR in Java esamina due stati ed emette il valore “true”, ma a con­di­zio­ne che almeno una delle due espres­sio­ni sia corretta. Solo se entrambe le espres­sio­ni sono errate la risposta è “false”. Per indicare questo operatore si utilizza la dicitura “||”.

La sintassi dei due operatori è molto simile e si presenta così:

espressione1 operatore espressione2
java

Nelle parti seguenti ti spie­ghia­mo come uti­liz­za­re gli operatori AND e OR in Java con alcuni esempi pratici.

Web Hosting
Diventa il n°1 della rete con il provider di hosting n°1 in Europa
  • Di­spo­ni­bi­li­tà garantita al 99,99%
  • Dominio, SSL ed e-mail inclusi
  • As­si­sten­za 24/7 in lingua italiana

L’operatore AND in Java

In Java, l’operatore AND serve a con­trol­la­re se due espres­sio­ni sono vere. La struttura è la seguente:

espressione1 && espressione2
java

Solo se entrambi i requisiti sono veri si ottiene la risposta “true”. Se una delle due espres­sio­ni è falsa o se entrambe non sono vere, la risposta dell’operatore è “false”.

Nel nostro primo esempio forniamo al sistema due semplici espres­sio­ni e uti­liz­zia­mo il comando Java System.out.println per ordinare al sistema di emettere il valore booleano cor­ri­spon­den­te. Il comando si presenta così:

public class Main {
	public static void main(String[] args) {
		int x = 3;
		System.out.println(x > 1 && x < 7);
	}
}
java

Per prima cosa, il sistema controlla se il valore 3 è maggiore di 1. Essendo vero, il sistema verifica quindi la cor­ret­tez­za dell’espres­sio­ne “3 < 7”. Anche questo è vero, quindi entrambe le espres­sio­ni sono corrette e otteniamo il risultato “true”.

A questo punto possiamo vedere cosa succede se una delle espres­sio­ni è vera e l’altra no. A tal fine mo­di­fi­chia­mo leg­ger­men­te il nostro esempio:

public class Main {
	public static void main(String [] args) {
		int x = 3;
		System.out.println(x > 1 && x > 7);
	}
}
java

Anche in questo caso il sistema controlla la prima espres­sio­ne e sta­bi­li­sce che è corretta. La seconda espres­sio­ne, invece, non lo è. Poiché entrambi i requisiti devono essere sod­di­sfat­ti, il risultato è “false”.

Nel nostro terzo esempio, la verifica è ancora più breve. Poiché già il primo requisito non è sod­di­sfat­to, il sistema non prende neppure in con­si­de­ra­zio­ne il secondo dato. Infatti, il valore può essere soltanto “false”:

public class Main {
	public static void main(String [] args) {
		int x = 3;
		System.out.println(x > 3 && x < 7);
	}
}
java

L’operatore OR in Java

Anche l’operatore OR in Java serve a con­trol­la­re due requisiti. La sua struttura è la seguente:

espressione1 || espressione2
java

Al contrario dell’operatore AND in Java, per l’operatore OR è fon­da­men­ta­le che almeno uno dei due requisiti sia sod­di­sfat­to. In questo caso il risultato è la risposta “true”. La stessa risposta si ottiene anche quando entrambi i requisiti sono sod­di­sfat­ti. L’operatore risponde con “false” solo se nessuno dei due requisiti è vero. A seguire trovi alcuni semplici esempi per capire meglio il fun­zio­na­men­to.

Nel primo caso, cambiamo sem­pli­ce­men­te l’operatore && usato nel primo esempio so­sti­tuen­do­lo con ||. L’esempio si presenta quindi così:

public class Main {
	public static void main(String [] args) {
		int x = 3;
		System.out.println(x > 1 || x < 7);
	}
}
java

Come con l’operatore AND, in questo caso il risultato è “true”. Poiché già la prima espres­sio­ne è vera, il requisito è sod­di­sfat­to. Le dif­fe­ren­ze fra AND e OR in Java diventano più chiare os­ser­van­do l’esempio seguente.

public class Main {
	public static void main(String [] args) {
		int x = 3;
		System.out.println(x > 1 || x > 7);
	}
}
java

La prima espres­sio­ne indicata è vera, perché 3 è ef­fet­ti­va­men­te maggiore di 1. La seconda espres­sio­ne invece non è vera, perché 3 non è maggiore di 7. Tuttavia, poiché almeno una delle due espres­sio­ni è vera, il sistema risponde comunque con “true”. L’af­fer­ma­zio­ne errata nella seconda espres­sio­ne non è rilevante.

Il sistema dà la risposta “false” soltanto se nessuno dei due requisiti è sod­di­sfat­to. L’esempio seguente descrive questa si­tua­zio­ne:

public class Main {
	public static void main(String [] args) {
		int x = 3;
		System.out.println(x > 3 || x > 7);
	}
}
java

Il sistema controlla la prima espres­sio­ne e sta­bi­li­sce che è falsa. Quindi prende in con­si­de­ra­zio­ne la seconda espres­sio­ne. Se fosse corretta, la risposta sarebbe nuo­va­men­te “true”. Tuttavia, poiché entrambe le espres­sio­ni sono false, la risposta che otteniamo è “false”.

Vai al menu prin­ci­pa­le