logo

Verschil tussen & en && in Java

In deze paragraaf bespreken we de twee belangrijkste operators & En && in Java en zie ook de belangrijkste verschillen tussen logisch En bitsgewijze operatoren samen met het gebruik ervan.

Verschil tussen & en && in Java

& Exploitant

De enkele AND-operator ( & ) staat bekend als de Bitsgewijs EN exploitant. Het werkt op een enkele bit. Er zijn twee operanden nodig. Een bit in het resultaat is 1 als en slechts als beide corresponderende bits in de operanden 1 zijn. Het resultaat van de operator kan elk getal zijn. Bijvoorbeeld:

a = 01100010

b = 10111010

a&b = 00100010

&& Exploitant

De dubbele AND-operatoren (&&) staan ​​bekend als logisch EN exploitanten. Het wordt meestal gebruikt in lussen en voorwaardelijke instructies. Het wordt meestal gebruikt in Booleaanse expressies. Het resultaat van && is altijd 0 of 1.

Verschil tussen & en &&

Het belangrijkste verschil tussen && en &-operators is dat && kortsluitevaluaties ondersteunt, terwijl &-operator dat niet doet.

Een ander verschil is dat && de uitdrukking exp1 evalueert en onmiddellijk een valse waarde retourneert als exp1 onwaar is. Terwijl de &-operator altijd beide expressies (exp1 en exp2) evalueert voordat een antwoord wordt teruggetrokken.

S.N. Basis & Exploitant && Exploitant
1 Exploitant Het is een bitsgewijze AND-operator. Het is een logische AND-operator.
2 Evaluatie Het evalueert zowel de linker- als de rechterkant van de gegeven uitdrukking. Het evalueert alleen de linkerkanten van de gegeven uitdrukking.
3 Werkt op Het werkt zowel op Booleaanse gegevenstypen als op bits. Het werkt alleen op het Booleaanse datatype.
4 Toepassingen Wordt gebruikt om de logische toestand te controleren en wordt ook gebruikt om bepaalde bits, zoals pariteitsbits, te maskeren. Wordt alleen gebruikt om de logische voorwaarden te controleren.
5 Voorbeeld z = x & y als (y > 1 && y > x)

Laten we bitgewijs en logisch en operator begrijpen via een Java-programma.

LogicalAndExample.java

gekoppelde lijst
 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)); } } 

Uitgang:

 a&amp;b=1 

Laten we nog een Java-programma maken en tegelijkertijd de logische en Bitwise AND-operatoren gebruiken.

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>