Diferença entre & e && em Java

Siddharth Swami 12 outubro 2023
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.

Artigo relacionado - Java Operator