Utilitaires
Scripts
Divers
Jeux
Rechercher
Quillevere.net
Réflexions informatiques

Différence entre !a==b et a!=b

11/08/2019
Java

L'opérateur testant l'égalité en Java, PHP, Javascript, C++ et bien d'autres langages est ==. Pour tester la différence, il y a l'opérateur != (et aussi !== dans certains langages comme PHP et Javascript pour comparer à la fois le type et la valeur).

Cependant, il faut faire attention car !a==b n'est pas toujours la même chose que a!=b. Dans le cas où a et b sont des booléens, il n'y a pas de différence au niveau du résultat obtenu mais s'il s'agit d'un autre type (chaîne, nombre, date...), le résultat ne sera pas celui attendu.

La véritable équivalence sera  !(a==b).

Cette différence est due aux sens de priorité des opérateurs qui agissent sur le comportement à appliquer :

  • Dans le cas de !a==b, !a est converti en booléen puis comparé à b. 
  • Dans le cas de !(a==b), on compare a et b et on obtient un booléen. On inverse ensuite celui-ci avec le signe !.
Dernière modification le 11/08/2019 - Quillevere.net

Rechercher sur le site

rss RSS info Informations