В този раздел ще обсъдим двата най-важни оператора и и && в 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 && 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)); } }
Изход:
a&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&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>