Bonjour, pourriez vous m'expliquez la différence entre "&" et "&&" ainsi qu'entre "|" et "||"
j'ai cherché de l'information mais en vain![]()
Bonjour, pourriez vous m'expliquez la différence entre "&" et "&&" ainsi qu'entre "|" et "||"
j'ai cherché de l'information mais en vain![]()
L'opérateur && correspond à un ET logique entre deux conditions, par exemple :
pour signifier que la variable monInt doit être supérieure strict à 10 ET inférieure strict à 20.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 monInt > 10 && monInt < 20
L'opérateur || correspond au OU logique entre deux conditions, par exemple :
pour signifier que la variable monInt dois être inférieure strict à 10 OU supérieure strict à 20.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 monInt < 10 || monInt > 20
L'opérateur & est un ET bit à bit.
Ici, dernierInt vaudra 4.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 premierInt = 5; secondInt = 6; dernierInt = premierInt & secondInt;
5 en binaire représente 0101
6 en binaire représente 0110
Donc, en faisant et un ET bit à bit entre ceux deux-là, tu obtiens 0100
L'opérateur | est un OU inclusif bit à bit
Ici, dernierInt vaudra 7.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 premierInt = 5; secondInt = 6; dernierInt = premierInt & secondInt;
5 en binaire représente 0101
6 en binaire représente 0110
Donc, en faisant et un OU bit à bit entre ceux deux-là, tu obtiens 0111.
Tu peux aussi te renseigner sur l'algèbre de Boole pour tout ce genre d'opération booléenne.
C'est Android, PAS Androïd, ou Androïde didiou !
Le premier est un OS, le second est la mauvaise orthographe du troisième, un mot français désignant un robot à forme humaine.
Membre du comité contre la phrase "ça marche PAS" en titre et/ou explication de problème.
N'oubliez pas de consulter les FAQ Android et les cours et tutoriels Android
Super ta réponse Hizin, c'est vraiment super claire
J'ai exam demain peut être que je penserai à toi devant ma feuille
A+
À noter que quand on l'utilise sur des booléens, la différence est qu'avec le mode "bit à bit", on évalue effectivement les 2 expressions, ce qui n'est pas forcément le cas dans le mode "logique" (pour un OU, si la première expression est vraie, on n'évalue pas la seconde car le résultat sera vrai de toute façon, et pour un ET si la première condition est fausse on n'évalue pas la seconde car le résultat sera faux).
Par exemple :
La 2ème ligne s'exécute sans souci, mais la 3ème plante en NullPointerException.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 String a = null ; if (a == null || a.length() == 0) System.out.println("chaine vide"); if (a == null | a.length() == 0) System.out.println("chaine vide");
Partager