Diferença entre & e && em Java
Um operador em Java é um símbolo que pode realizar alguma operação desejada em um conjunto de valores. Java tem diferentes tipos de operadores como lógico, aritmético, bit a bit e muito mais.
Neste tutorial, tentaremos estudar e entender a diferença entre o operador &
e &&
em Java.
O operador &
é um operador bit a bit. Operadores bit a bit são usados basicamente para trabalhar e manipular bits individuais dos números. Ele opera em ambos os lados do operador. O operador bit a bit &
é um operador binário que executa a operação AND bit a bit em seus operandos.
O código a seguir demonstra o uso do 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
}
}
Resultado:
a& b = 5
O &&
é o operador lógico AND
que trabalha com operandos booleanos. Como o nome sugere, os operadores lógicos podem realizar a operação lógica e combinar duas ou mais condições. Eles podem ser usados com qualquer tipo de tipo de dados.
O operador lógico &&
retorna verdadeiro quando ambas as condições são verdadeiras. Ele avalia os operandos da esquerda para a direita. Ele converte cada operando em um valor booleano e retorna o valor original após a operação.
O código a seguir demonstra o 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");
}
}
Resultado:
A = 10
B = 20
C = 20
True Conditions
No exemplo acima, ambas as condições são verdadeiras. É por isso que True Conditions
é impresso. Mesmo se um deles fosse falso, então False Conditions
teria sido publicado.