I dette afsnit vil vi diskutere de to vigtigste operatører & og && i Java og se også centrale forskelle mellem logiske og bitvise operatører sammen med dens anvendelser.
& Operatør
Den enkelte OG-operator ( & ) er kendt som Bitvis OG operatør. Det fungerer på en enkelt bit. Det kræver to operander. En bit i resultatet er 1, hvis og kun hvis begge de tilsvarende bit i operanderne er 1. Resultatet af operatoren kan være et hvilket som helst tal. For eksempel:
a = 01100010
b = 10111010
a&b = 00100010
&& Operatør
De dobbelte OG-operatorer (&&) er kendt som logisk OG operatører. Det bruges normalt i loops og betingede udsagn. Det bruges normalt i booleske udtryk. Resultatet af && er altid 0 eller 1.
Forskellen mellem & og &&
Den vigtigste forskel mellem && og & operatører er, at && understøtter kortslutningsevalueringer, mens & operatør ikke gør det.
En anden forskel er, at && vil evaluere udtrykket exp1, og straks returnere en falsk værdi, hvis exp1 er falsk. Mens &-operatoren evaluerer altid begge udtryk (exp1 og exp2), før et svar trækkes tilbage.
S.N. | Basis | & Operatør | && Operatør |
---|---|---|---|
1 | Operatør | Det er en bitwise AND operator. | Det er en logisk OG-operator. |
2 | Evaluering | Den evaluerer både venstre og højre side af det givne udtryk. | Den evaluerer kun venstre sider af det givne udtryk. |
3 | Virker videre | Det fungerer på booleske datatyper såvel som på bits. | Det fungerer kun på boolesk datatype. |
4 | Bruger | Bruges til at kontrollere logisk tilstand og bruges også til at maskere visse bits, såsom paritetsbits. | Bruges kun til at kontrollere de logiske forhold. |
5 | Eksempel | z = x & y | hvis (y > 1 && y > x) |
Lad os forstå bitvis og logisk og operatør gennem et Java-program.
LogicalAndExample.java
solrig deol alder
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)); } }
Produktion:
a&b=1
Lad os oprette et andet Java-program og bruge logiske og bitvise OG-operatorer samtidigt.
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>