У цьому розділі ми обговоримо два найважливіші оператори & і && в Java а також див ключові відмінності між логічними і побітові оператори разом із його використанням.
& Оператор
Єдиний оператор І ( & ) відомий як Побітове І оператор. Він працює на одному біті. Він приймає два операнди. Біт у результаті дорівнює 1 тоді і тільки тоді, коли обидва відповідні біти в операндах дорівнюють 1. Результатом оператора може бути будь-яке число. Наприклад:
а = 01100010
b = 10111010
a&b = 00100010
&& Оператор
Подвійні оператори І (&&) відомі як логічне І оператори. Зазвичай використовується в циклах і умовних операторах. Зазвичай використовується в булевих виразах. Результатом && завжди є 0 або 1.
Різниця між & і &&
Ключова відмінність між операторами && та & полягає в тому, що && підтримує оцінки короткого замикання, тоді як оператор & ні.
Ще одна відмінність полягає в тому, що && обчислить вираз exp1 і негайно поверне значення false, якщо exp1 є false. Оператор While & завжди обчислює обидва вирази (exp1 і exp2) перед видаленням відповіді.
С.Н. | Основа | & Оператор | && Оператор |
---|---|---|---|
1 | Оператор | Це порозрядний оператор І. | Це логічний оператор І. |
2 | Оцінка | Він обчислює як ліву, так і праву частину заданого виразу. | Він обчислює лише ліві частини заданого виразу. |
3 | Діє на | Він працює як з булевими типами даних, так і з бітами. | Він працює лише з логічним типом даних. |
4 | Використання | Використовується для перевірки логічної умови, а також для маскування певних бітів, наприклад бітів парності. | Використовується лише для перевірки логічних умов. |
5 | приклад | z = x & y | якщо (y > 1 && y > x) |
Давайте розберемося з побітовим і логічним оператором за допомогою програми Java.
LogicalAndExample.java
фрагмент масиву 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>