logo

Різниця між & і && в Java

У цьому розділі ми обговоримо два найважливіші оператори & і && в Java а також див ключові відмінності між логічними і побітові оператори разом із його використанням.

Різниця між & і && в 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 &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>