logo

Skillnaden mellan & och && i Java

I det här avsnittet kommer vi att diskutera de två viktigaste operatörerna & och && i Java och se även viktiga skillnader mellan logiska och bitvisa operatorer tillsammans med dess användningsområden.

Skillnaden mellan & och && i Java

& Operatör

Den enda AND-operatorn ( & ) är känd som Bitvis OCH operatör. Den fungerar på en enda bit. Det krävs två operander. En bit i resultatet är 1 om och endast om båda motsvarande bitar i operanderna är 1. Resultatet av operatorn kan vara vilket tal som helst. Till exempel:

a = 01100010

b = 10111010

a&b = 00100010

&& Operatör

De dubbla OCH-operatorerna (&&) är kända som logiskt OCH operatörer. Det används vanligtvis i loopar och villkorliga uttalanden. Det används vanligtvis i booleska uttryck. Resultatet av && är alltid 0 eller 1.

Skillnaden mellan & och &&

Den viktigaste skillnaden mellan && och & operatörer är att && stöder kortslutningsutvärderingar medan & operatör inte gör det.

En annan skillnad är att && kommer att utvärdera uttrycket exp1 och omedelbart returnera ett falskt värde om exp1 är falskt. Medan &-operatorn utvärderar alltid båda uttrycken (exp1 och exp2) innan ett svar återkallas.

S.N. Grund & Operatör && Operatör
1 Operatör Det är en bitvis OCH-operatör. Det är en logisk OCH-operator.
2 Utvärdering Den utvärderar både vänster och höger sida av det givna uttrycket. Den utvärderar bara vänstersidorna av det givna uttrycket.
3 Verkar på Det fungerar på booleska datatyper såväl som på bitar. Den fungerar endast på boolesk datatyp.
4 Används Används för att kontrollera logiskt tillstånd och används även för att maskera vissa bitar som paritetsbitar. Används endast för att kontrollera de logiska förhållandena.
5 Exempel z = x & y if (y > 1 && y > x)

Låt oss förstå bitvis och logisk och operatör genom ett Java-program.

LogicalAndExample.java

linux byta namn på katalogen
 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)); } } 

Produktion:

 a&amp;b=1 

Låt oss skapa ett annat Java-program och använda logiska och Bitwise AND-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&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>