parameter Differenza tra & e && in Java?




ternary operator java (4)

&& == AND logico

& = AND bit a bit

Possibili duplicati:
Qual è la differenza tra | e || in Java?
Differenza in & e &&

Mi stavo chiedendo quale sia la differenza tra & e && ?
Pochi giorni ho scritto una condizione per un'istruzione if assomigliava a qualcosa:

if(x < 50 && x > 0)

Tuttavia, ho cambiato il && in solo & e non ha mostrato errori. Qual è la differenza?

Esempio: ho compilato questo semplice programma:

package anddifferences;

public class Main {

    public static void main(String[] args) {
        int x = 25;
        if(x < 50 && x > 0) {
            System.out.println("OK");
        }

        if(x < 50 & x > 0) {
            System.out.println("Yup");
        }
    }
}

Ha stampato "OK" e "Yup". Quindi è importante quale uso se entrambi funzionano?


& è bit a bit. && è logico.

& valuta entrambi i lati dell'operazione.
&& valuta il lato sinistro dell'operazione, se è true , continua e valuta il lato destro.


& è operatore AND bit a bit che confronta i bit di ciascun operando.
Per esempio,

int a = 4;
int b = 7;
System.out.println(a & b); // prints 4
//meaning in an 32 bit system
// 00000000 00000000 00000000 00000100
// 00000000 00000000 00000000 00000111
// ===================================
// 00000000 00000000 00000000 00000100


&& è l'operatore AND logico che confronta solo i valori booleani degli operandi. Prende due operandi che indicano un valore booleano e fa una valutazione pigra su di essi.


&& è un operatore logico

& è un po 'operatore

Apparentemente se fai un po 'di paragone tra vero e vero, la risposta è vera, e se fai un po' confronto tra vero e falso, la risposta è falsa!





operators