V tejto časti si rozoberieme dvoch najdôležitejších operátorov & a && v Java a tiež vidieť kľúčové rozdiely medzi log a bitové operátory spolu s jeho využitím.
& operátor
Jediný operátor AND ( & ) je známy ako Bitové AND operátor. Funguje na jednom bite. Chce to dva operandy. Bit vo výsledku je 1 práve vtedy, ak oba zodpovedajúce bity v operandoch sú 1. Výsledkom operátora môže byť ľubovoľné číslo. Napríklad:
a = 01100010
b = 10111010
a&b = 00100010
&& Operátor
Operátory dvojitého AND (&&) sú známe ako logické AND operátorov. Zvyčajne sa používa v slučkách a podmienených príkazoch. Zvyčajne sa používa v boolovských výrazoch. Výsledok && je vždy 0 alebo 1.
Rozdiel medzi & a &&
Kľúčový rozdiel medzi operátormi && a & je v tom, že && podporuje vyhodnocovanie skratov, zatiaľ čo operátor & nie.
Ďalším rozdielom je, že && vyhodnotí výraz exp1 a okamžite vráti nepravdivú hodnotu, ak je exp1 nepravda. Operátor while & vždy vyhodnotí oba výrazy (exp1 a exp2) pred zrušením odpovede.
S.N. | Základ | & operátor | && Operátor |
---|---|---|---|
1 | Operátor | Je to bitový operátor AND. | Je to logický operátor AND. |
2 | Hodnotenie | Vyhodnocuje ľavú aj pravú stranu daného výrazu. | Vyhodnocuje len ľavé strany daného výrazu. |
3 | Funguje na | Funguje na booleovských typoch údajov, ako aj na bitoch. | Funguje iba na booleovskom dátovom type. |
4 | Využitie | Používa sa na kontrolu logického stavu a tiež na maskovanie určitých bitov, ako sú paritné bity. | Používa sa len na kontrolu logických podmienok. |
5 | Príklad | z = x a y | if (y > 1 && y > x) |
Poďme pochopiť bitové a logické a operátor prostredníctvom programu Java.
LogicalAndExample.java
ako vrátiť pole v jave
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)); } }
Výkon:
a&b=1
Vytvorme ďalší Java program a používajme súčasne logické a bitové operátory AND.
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>