Differenza tra & e && in Java

Siddharth Swami 12 ottobre 2023
Differenza tra & e && in Java

Un operatore in Java è un simbolo che può eseguire alcune operazioni desiderate su un insieme di valori. Java ha diversi tipi di operatori come logico, aritmetico, bit per bit e altro.

In questo tutorial, cercheremo di studiare e comprendere la differenza tra l’operatore & e && in Java.

L’operatore & è un operatore bit a bit. Gli operatori bit a bit sono fondamentalmente utilizzati per lavorare e manipolare singoli bit dei numeri. Funziona su entrambi i lati dell’operatore. L’operatore & bit per bit è un operatore binario che esegue l’operazione AND bit per bit sui suoi operandi.

Il codice seguente mostra l’uso dell’operatore &.

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
  }
}

Produzione:

a&b = 5

Il && è l’operatore logico AND che lavora con gli operandi booleani. Come suggerisce il nome, gli operatori logici possono eseguire l’operazione logica e combinare due o più condizioni. Questi possono essere utilizzati con qualsiasi forma di tipo di dati.

L’operatore logico && restituisce vero quando entrambe le condizioni sono vere. Valuta gli operandi da sinistra a destra. Converte ogni operando in un valore booleano e restituisce il valore originale dopo l’operazione.

Il codice seguente mostra l’operatore &&.

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");
  }
}

Produzione:

A = 10
B = 20
C = 20

True Conditions

Nell’esempio sopra, entrambe le condizioni sono vere. Ecco perché viene stampato True Conditions. Anche se uno di essi fosse falso, sarebbero state pubblicate False Conditions.

Articolo correlato - Java Operator