În această secțiune, vom discuta cei mai importanți doi operatori & și && în Java și vezi, de asemenea, diferențe cheie între logice și operatori pe biți împreună cu utilizările sale.
& Operator
Unicul operator AND ( & ) este cunoscut sub numele de ȘI pe biți operator. Funcționează pe un singur bit. Este nevoie de doi operanzi. Un bit din rezultat este 1 dacă și numai dacă ambii biți corespunzători din operanzi sunt 1. Rezultatul operatorului poate fi orice număr. De exemplu:
a = 01100010
b = 10111010
a&b = 00100010
&& Operator
Operatorii duble AND (&&) sunt cunoscuți ca ȘI logic operatori. Este de obicei folosit în bucle și instrucțiuni condiționale. Este de obicei folosit în expresiile booleene. Rezultatul lui && este întotdeauna 0 sau 1.
Diferența dintre & și &&
Diferența cheie dintre operatorii && și & este că && acceptă evaluările de scurtcircuit, în timp ce operatorul & nu o face.
O altă diferență este că && va evalua expresia exp1 și va returna imediat o valoare falsă dacă exp1 este falsă. Operatorul While & evaluează întotdeauna ambele expresii (exp1 și exp2) înainte de a retrage un răspuns.
S.N. | Bază | & Operator | && Operator |
---|---|---|---|
1 | Operator | Este un operator AND pe biți. | Este un operator logic AND. |
2 | Evaluare | Evaluează atât partea stângă, cât și cea dreaptă a expresiei date. | Evaluează doar părțile stângi ale expresiei date. |
3 | Funcționează pe | Funcționează pe tipuri de date booleene, precum și pe biți. | Funcționează numai pe tipul de date boolean. |
4 | Utilizări | Folosit pentru a verifica starea logică și, de asemenea, folosit pentru a masca anumiți biți, cum ar fi biții de paritate. | Folosit doar pentru a verifica condițiile logice. |
5 | Exemplu | z = x și y | dacă (y > 1 și& y > x) |
Să înțelegem biți și logic și operator printr-un program Java.
LogicAndExample.java
aws sns
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)); } }
Ieșire:
a&b=1
Să creăm un alt program Java și să folosim simultan operatorii logici și pe biți și.
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>