logo

Diferența dintre & și && în Java

Î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.

Diferența dintre & și && în Java

& 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 &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)); } } 

Ieșire:

 a&amp;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&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>