logo

Разлика между & и && в Java

В този раздел ще обсъдим двата най-важни оператора и и && в Java и също вижте ключови разлики между логически и побитови оператори заедно с неговите употреби.

Разлика между & и && в Java

& Оператор

Единичният оператор И ( и ) е известен като Побитово И оператор. Работи с един бит. Необходими са два операнда. Битът в резултата е 1 тогава и само ако и двата съответни бита в операндите са 1. Резултатът от оператора може да бъде произволно число. Например:

а = 01100010

b = 10111010

a&b = 00100010

&& Оператор

Двойните оператори И (&&) са известни като логично И оператори. Обикновено се използва в цикли и условни изрази. Обикновено се използва в булеви изрази. Резултатът от && винаги е 0 или 1.

Разлика между & и &&

Ключовата разлика между операторите && и & е, че && поддържа оценки на късо съединение, докато операторът & не го прави.

Друга разлика е, че && ще оцени израза exp1 и веднага ще върне невярна стойност, ако exp1 е невярно. Операторът While & винаги оценява и двата израза (exp1 и exp2), преди да оттегли отговор.

С.Н. Основа & Оператор && Оператор
1 Оператор Това е побитово И оператор. Това е логически оператор И.
2 Оценка Той оценява както лявата, така и дясната страна на дадения израз. Той оценява само левите страни на дадения израз.
3 Действа на Той работи с булеви типове данни, както и с битове. Работи само с булев тип данни.
4 Употреби Използва се за проверка на логическо условие и също така се използва за маскиране на определени битове, като например битове за четност. Използва се само за проверка на логическите условия.
5 Пример z = x & y ако (y > 1 && y > x)

Нека разберем побитово и логически и оператор чрез Java програма.

LogicalAndExample.java

кодиращ код на Хъфман
 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)); } } 

Изход:

 a&amp;b=1 

Нека създадем друга програма на Java и да използваме логически и побитови оператори И едновременно.

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>