logo

Differenza tra & e && in Java

In questa sezione discuteremo i due operatori più importanti & E && In Giava e vedere anche il differenze chiave tra logico E operatori bit a bit insieme ai suoi usi.

Differenza tra & e && in Java

& Operatore

Il singolo operatore AND ( & ) è noto come AND bit per bit operatore. Funziona su un singolo bit. Occorrono due operandi. Un bit nel risultato è 1 se e solo se entrambi i bit corrispondenti negli operandi sono 1. Il risultato dell'operatore può essere qualsiasi numero. Per esempio:

a = 01100010

b = 10111010

a&b = 00100010

&& Operatore

Gli operatori doppi AND (&&) sono noti come E logico operatori. Di solito viene utilizzato nei cicli e nelle istruzioni condizionali. Di solito viene utilizzato nelle espressioni booleane. Il risultato di && è sempre 0 o 1.

Differenza tra & e &&

La differenza fondamentale tra gli operatori && e & è che && supporta le valutazioni di cortocircuito mentre l'operatore & no.

Un'altra differenza è che && valuterà l'espressione exp1 e restituirà immediatamente un valore falso se exp1 è falso. Mentre l'operatore & valuta sempre entrambe le espressioni (exp1 ed exp2) prima di ritirare una risposta.

S.N. Base & Operatore && Operatore
1 Operatore È un operatore AND bit a bit. È un operatore logico AND.
2 Valutazione Valuta sia il lato sinistro che quello destro dell'espressione data. Valuta solo i lati sinistri dell'espressione data.
3 Funziona Funziona sia su tipi di dati booleani che su bit. Funziona solo su tipo di dati booleano.
4 Usi Utilizzato per verificare la condizione logica e anche per mascherare alcuni bit come i bit di parità. Utilizzato solo per verificare le condizioni logiche.
5 Esempio z = x e y se (y > 1 && y > x)

Comprendiamo bit per bit, logica e operatore attraverso un programma Java.

LogicalAndExample.java

Shreya Ghoshal
 public class LogicalAndExample { public static void main(String args[]) { int a=10, b=20; if (a == 10 &amp;&amp; b == 20) System.out.println(&apos;true&apos;); else System.out.println(&apos;false&apos;); int c=78, d=90; if (a &gt; c &amp;&amp; b <d) system.out.println('true'); else system.out.println('false'); } < pre> <p> <strong>Output:</strong> </p> <pre> true false </pre> <p> <strong>BitwiseAndExample.java</strong> </p> <pre> public class BitwiseAndExample { public static void main(String args[]) { int a = 3; int b = 9; //bitwise AND System.out.println(&apos;a&amp;b = &apos; + (a &amp; b)); } } </pre> <p> <strong>Output:</strong> </p> <pre> a&amp;b=1 </pre> <p>Let&apos;s create another Java program and use Logical and Bitwise AND operators simultaneously.</p> <p> <strong>JavaOperators.java</strong> </p> <pre> public class JavaOperators { public static void main(String args[]) { int a = 58; //58 in binary is 111010 int b = 13; //13 in binary is 1101 System.out.println(a&amp;b); //returns 8 = 1000 int x = 10; System.out.println(x<30 && x<60); returns false } < pre> <p> <strong>Output:</strong> </p> <pre> 8 true </pre> <hr></30></pre></d)>

BitwiseAndExample.java

 public class BitwiseAndExample { public static void main(String args[]) { int a = 3; int b = 9; //bitwise AND System.out.println(&apos;a&amp;b = &apos; + (a &amp; b)); } } 

Produzione:

 a&amp;b=1 

Creiamo un altro programma Java e utilizziamo contemporaneamente gli operatori logici e bit a bit AND.

JavaOperators.java

 public class JavaOperators { public static void main(String args[]) { int a = 58; //58 in binary is 111010 int b = 13; //13 in binary is 1101 System.out.println(a&amp;b); //returns 8 = 1000 int x = 10; System.out.println(x<30 && x<60); returns false } < pre> <p> <strong>Output:</strong> </p> <pre> 8 true </pre> <hr></30>