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.
& 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 && b == 20) System.out.println('true'); else System.out.println('false'); int c=78, d=90; if (a > c && 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('a&b = ' + (a & b)); } } </pre> <p> <strong>Output:</strong> </p> <pre> a&b=1 </pre> <p>Let'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&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('a&b = ' + (a & b)); } }
Uitgang:
a&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&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>
30>