Šiame skyriuje aptarsime du svarbiausius operatorius & ir && in Java ir taip pat pamatyti pagrindiniai skirtumai tarp loginių ir bitų operatoriai kartu su jo panaudojimu.
& Operatorius
Vienas IR operatorius ( & ) yra žinomas kaip Bitiškai IR operatorius. Jis veikia vienu bitu. Tam reikia dviejų operandų. Rezultato bitas yra 1 tada ir tik tada, kai abu atitinkami operandų bitai yra 1. Operatoriaus rezultatas gali būti bet koks skaičius. Pavyzdžiui:
a = 01100010
b = 10111010
a&b = 00100010
&& Operatorius
Dvigubi IR operatoriai (&&) yra žinomi kaip logiška IR operatoriai. Paprastai jis naudojamas kilpose ir sąlyginiuose sakiniuose. Paprastai jis naudojamas Būlio išraiškose. && rezultatas visada yra 0 arba 1.
Skirtumas tarp & ir &&
Pagrindinis skirtumas tarp && ir & operatorių yra tas, kad && palaiko trumpojo jungimo vertinimus, o operatorius & ne.
Kitas skirtumas yra tas, kad && įvertins išraišką exp1 ir iš karto grąžins klaidingą reikšmę, jei exp1 yra klaidinga. Nors & operatorius visada įvertina abi išraiškas (exp1 ir exp2), prieš atsisakydamas atsakymo.
S.N. | Pagrindas | & Operatorius | && Operatorius |
---|---|---|---|
1 | operatorius | Tai bitinis AND operatorius. | Tai loginis IR operatorius. |
2 | Įvertinimas | Jis įvertina tiek kairiąją, tiek dešinę pateiktos išraiškos puses. | Jis įvertina tik kairiąsias nurodytos išraiškos puses. |
3 | Veikia | Jis veikia su Būlio duomenų tipais ir bitais. | Jis veikia tik pagal Būlio duomenų tipą. |
4 | Naudoja | Naudojamas loginei būklei patikrinti ir tam tikriems bitams, pvz., pariteto bitams, užmaskuoti. | Naudojamas tik loginėms sąlygoms patikrinti. |
5 | Pavyzdys | z = x ir y | jei (y > 1 && y > x) |
Supraskime bitines ir logines bei operatorių per Java programą.
LogicalAndExample.java
formato java eilutė
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)); } }
Išvestis:
a&b=1
Sukurkime dar vieną Java programą ir vienu metu naudokime Logical bei Bitwise AND operatorius.
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>