151 votes

Différence entre & et && en Java ?

Doublons Possibles:
Quelle est la différence entre | et || en Java?
Différence en & et & de&

Je me demandais juste quelle est la différence entre & et & de& l'est?
Quelques jours, j'ai écrit à une condition d' if déclaration de l'air quelque chose comme:

if(x < 50 && x > 0)

Cependant, j'ai changé le && à juste & et il n'a montré aucune erreur. Quelle est la différence?


Exemple: j'ai compilé ce programme simple:

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

C'imprimé "OK" et "Yup". Donc, n'importe laquelle-je utiliser si ils travaillent tous les deux?

375voto

Jeffrey Points 22209

est au niveau du bit.est logique.

évalue les deux côtés de l’opération. évalue le côté gauche de l’opération, si elle a `` , il continue et évalue le côté droit.

73voto

suat Points 1608

et opérateur de bits AND compare bits de chaque opérande.
Par exemple,

& & opérateur logique AND compare les valeurs booléennes d’opérandes seulement. Il prend deux opérandes indiquant une valeur booléenne et fait une évaluation paresseuse sur eux.

43voto

Book Of Zeus Points 38130

& & == et logique

& = opération de bits AND

33voto

mP. Points 7516

' &' exécute les deux tests, tandis que ' & &' effectue seulement le 2e test vaut également pour la première. Ceci est connu comme court-circuit et peut être considérée comme une optimisation. Ceci est particulièrement utile en gardant contre le nullness.

7voto

Phil Freihofner Points 1841

& & est un opérateur logique

& est un opérateur de la bit

Apparemment, si vous faites une comparaison de bits de fidèle à true, la réponse est vraie, et si vous faites une comparaison de bits de vrai et le faux, la réponse est faux !

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X