& Operator in Java with Examples

10 Oct, 2019
The & operator in Java has two definite functions:
As a Relational Operator: & is used as a relational operator to check a conditional statement just like && operator. Both even give the same result, i.e. true if all conditions are true, false if any one condition is false.However, there is a slight difference between them, which highlights the functionality of & operator:&& operator: It only evaluates the next condition, if the condition before it is true. If anyone condition is false, it does not evaluate the statement any further.& operator: It evaluates all conditions even if they are false. Thus, any change in the data values due to the conditions will only be reflected in this case.Example:// Java program to demonstrate// & operator as relational operator  import java.io.*;  class GFG {    public static void main(String[] args)    {          int x = 5, y = 7, z = 9;          System.out.println("Demonstrating && operator");        if ((x > y) && (x++ > z))            ;        else            System.out.println("Value of x: " + x);          System.out.println("\nDemonstrating & operator");        if ((x > y) & (x++ > z))            ;        else            System.out.println("Value of x: " + x);    }}Output:Demonstrating && operator
Value of x: 5

Demonstrating & operator
Value of x: 6
As a Bitwise AND: & operator is used for adding Bitwise numbers in Java. Bitwise numbers are binary numbers stored in the form of integers. Some people will ask what is the use of these Bitwise numbers anyway? Why not store every number in its decimal form and perform the normal operations using our traditional operators: +, -, /, %, *. Its because all our encoding and decoding of data is done in bits, as they allow packing a huge amount of information into a tiny space.Example:// Java program to demonstrate// & operator as bitwise operator  import java.io.*;  class GFG {    public static void main(String[] args)    {          int a = 12;        int b = 25;          System.out.println("Demonstrating & operator\n");        int c = a & b;        System.out.println(a + " & " + b + " = " + c);    }}Output:Demonstrating & operator

12 & 25 = 8

As a Relational Operator: & is used as a relational operator to check a conditional statement just like && operator. Both even give the same result, i.e. true if all conditions are true, false if any one condition is false.However, there is a slight difference between them, which highlights the functionality of & operator:&& operator: It only evaluates the next condition, if the condition before it is true. If anyone condition is false, it does not evaluate the statement any further.& operator: It evaluates all conditions even if they are false. Thus, any change in the data values due to the conditions will only be reflected in this case.Example:// Java program to demonstrate// & operator as relational operator  import java.io.*;  class GFG {    public static void main(String[] args)    {          int x = 5, y = 7, z = 9;          System.out.println("Demonstrating && operator");        if ((x > y) && (x++ > z))            ;        else            System.out.println("Value of x: " + x);          System.out.println("\nDemonstrating & operator");        if ((x > y) & (x++ > z))            ;        else            System.out.println("Value of x: " + x);    }}Output:Demonstrating && operator
Value of x: 5

Demonstrating & operator
Value of x: 6

However, there is a slight difference between them, which highlights the functionality of & operator:
&& operator: It only evaluates the next condition, if the condition before it is true. If anyone condition is false, it does not evaluate the statement any further.
& operator: It evaluates all conditions even if they are false. Thus, any change in the data values due to the conditions will only be reflected in this case.
Example:
// Java program to demonstrate// & operator as relational operator  import java.io.*;  class GFG {    public static void main(String[] args)    {          int x = 5, y = 7, z = 9;          System.out.println("Demonstrating && operator");        if ((x > y) && (x++ > z))            ;        else            System.out.println("Value of x: " + x);          System.out.println("\nDemonstrating & operator");        if ((x > y) & (x++ > z))            ;        else            System.out.println("Value of x: " + x);    }}
Demonstrating && operator
Value of x: 5

Demonstrating & operator
Value of x: 6

As a Bitwise AND: & operator is used for adding Bitwise numbers in Java. Bitwise numbers are binary numbers stored in the form of integers. Some people will ask what is the use of these Bitwise numbers anyway? Why not store every number in its decimal form and perform the normal operations using our traditional operators: +, -, /, %, *. Its because all our encoding and decoding of data is done in bits, as they allow packing a huge amount of information into a tiny space.Example:// Java program to demonstrate// & operator as bitwise operator  import java.io.*;  class GFG {    public static void main(String[] args)    {          int a = 12;        int b = 25;          System.out.println("Demonstrating & operator\n");        int c = a & b;        System.out.println(a + " & " + b + " = " + c);    }}Output:Demonstrating & operator

12 & 25 = 8

Example:
// Java program to demonstrate// & operator as bitwise operator  import java.io.*;  class GFG {    public static void main(String[] args)    {          int a = 12;        int b = 25;          System.out.println("Demonstrating & operator\n");        int c = a & b;        System.out.println(a + " & " + b + " = " + c);    }}
Demonstrating & operator

12 & 25 = 8

Java-Operators
Picked
Java
Java-Operators
Java
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Interfaces in Java
Queue Interface In Java
Multidimensional Arrays in Java
HashMap in Java with Examples
Math pow() method in Java with Example
PriorityQueue in Java
Stack Class in Java
List Interface in Java with Examples
Initialize an ArrayList in Java
ArrayList in Java