Diferencia entre & y && en Java
Un operador en Java es un símbolo que puede realizar alguna operación deseada en un conjunto de valores. Java tiene diferentes tipos de tipos de operadores como lógicos, aritméticos, bit a bit y más.
En este tutorial, intentaremos estudiar y comprender la diferencia entre el operador &
y &&
en Java.
El operador &
es un operador bit a bit. Los operadores bit a bit se utilizan básicamente para trabajar y manipular bits individuales de los números. Opera a ambos lados del operador. El operador &
bit a bit es un operador binario que realiza la operación AND bit a bit en sus operandos.
El siguiente código demuestra el uso del operador &
.
public class operators {
public static void main(String[] args) {
int a = 5;
int b = 7;
System.out.println("a&b = " + (a & b)); // 0101 & 0111=0101 = 5
}
}
Producción :
a&b = 5
El &&
es el operador lógico Y
que trabaja con operandos booleanos. Como sugiere el nombre, los operadores lógicos pueden realizar la operación lógica y combinar dos o más condiciones. Estos se pueden utilizar con cualquier forma de tipo de datos.
El operador lógico &&
devuelve verdadero cuando ambas condiciones son verdaderas. Evalúa los operandos de izquierda a derecha. Convierte cada operando en un valor booleano y devuelve el valor original después de operar.
El siguiente código demuestra el operador &&.
import java.io.*;
class Logical_Operator {
public static void main(String[] args) {
int a = 10, b = 20, c = 20 System.out.println("Var1 = " + a);
System.out.println("Var2 = " + b);
System.out.println("Var3 = " + c);
if ((a < b) && (b == c)) {
System.out.println("True Conditions");
} else
System.out.println("False conditions");
}
}
Producción :
A = 10
B = 20
C = 20
True Conditions
En el ejemplo anterior, ambas condiciones son verdaderas. Por eso se imprime True Conditions
. Incluso si uno de ellos fuera falso, entonces se habría publicado False Conditions
.