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.
& 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 && 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)); } }
Sortida:
a&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&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>