logo

Diferència entre & i && a Java

En aquesta secció, parlarem dels dos operadors més importants & i && en Java i també veure el diferències clau entre la lògica i operadors per bits juntament amb els seus usos.

Diferència entre & i && a Java

& Operador

L'únic operador AND ( & ) es coneix com a I per bits operador. Funciona amb un sol bit. Necessita dos operands. Un bit del resultat és 1 si i només si els dos bits corresponents dels operands són 1. El resultat de l'operador pot ser qualsevol nombre. Per exemple:

a = 01100010

b = 10111010

a&b = 00100010

&& Operador

Els operadors AND dobles (&&) es coneixen com I lògic operadors. Normalment s'utilitza en bucles i sentències condicionals. Normalment s'utilitza en expressions booleanes. El resultat de && sempre és 0 o 1.

Diferència entre & i &&

La diferència clau entre els operadors && i & és que && admet avaluacions de curtcircuits mentre que & l'operador no.

Una altra diferència és que && avaluarà l'expressió exp1 i retornarà immediatament un valor fals si exp1 és fals. L'operador While & sempre avalua les dues expressions (exp1 i exp2) abans de retirar una resposta.

S.N. Base & Operador && Operador
1 Operador És un operador AND bit a bit. És un operador AND lògic.
2 Avaluació Avalua tant el costat esquerre com el dret de l'expressió donada. Només avalua els costats esquerres de l'expressió donada.
3 Funciona en Funciona amb tipus de dades booleans així com amb bits. Funciona només amb un tipus de dades booleà.
4 Usos S'utilitza per comprovar la condició lògica i també s'utilitza per emmascarar certs bits, com ara els bits de paritat. S'utilitza només per comprovar les condicions lògiques.
5 Exemple z = x i y si (y > 1 i& y > x)

Entenem bit a bit i lògic i operador mitjançant un programa Java.

LogicalAndExample.java

ordenar per aleatori en sql
 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)); } } 

Sortida:

 a&amp;b=1 

Creem un altre programa Java i utilitzem operadors AND lògics i bits simultàniament.

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>