Les opérateurs de relation sont des symboles de calcul utilisés pour réaliser toutes sortes de comparaisons de taille. Nous les utilisons régulièrement en mathématiques.
Table des opérateurs de relation
| Opérateur | Explication |
|---|---|
== | Égalité (vérification de l’égalité des valeurs) |
!= | Inégalité |
> | Supérieur à |
< | Inférieur à |
>= | Supérieur ou égal à |
<= | Inférieur ou égal à |
L’opérateur == peut également être utilisé sur d’autres objets
Règles clés de l’opérateur d’égalité ==
== permet de vérifier si les valeurs représentées par deux variables / objets sont identiques ; si vous avez besoin de contrôler strictement si deux références pointent vers exactement le même objet en mémoire, n’utilisez pas ==, utilisez la fonction dédiée identical().
Traitement spécial de la valeur nulle (null) Si l’un des deux opérandes vaut null :
- Si les deux côtés sont
null, renvoietrue - Si un seul côté est
null, renvoiefalse
Fonctionnement des objets classiques Équivaut à appeler la méthode == du premier opérande : x.==(y) ; l’opérateur est intrinsèquement une méthode membre de l’opérande.
Tous les résultats ci-dessous valent true : null n’est pas égal à 0 ni à la chaîne vide « »
void main() {
// Les deux côtés valent null, le résultat de == est true
print(null == null); //true
// Un côté null, l'autre avec une valeur, le résultat de == est false
print(null != 0); //true
print(null != ""); //true
}
Langage du code : PHP (php)
Voici un exemple complet
void main() {
// Comparaison d'égalité avec ==
print(2 == 2);
print("dart" == "dart");
print([1,2] == [1,2]);
// Comparaison d'inégalité avec !=
print(2 != 3);
print(true != false);
// > Supérieur à
print(3 > 2);
print(10 > -5);
// < Inférieur à
print(2 < 3);
print(-1 < 0);
// >= Supérieur ou égal à
print(3 >= 3);
print(5 >= 2);
// <= Inférieur ou égal à
print(2 <= 3);
print(4 <= 4);
}
Langage du code : Dart (dart)
Résultats d’exécution
true
true
false
true
true
true
true
true
true
true
true
true
trueLangage du code : JavaScript (javascript)
Différence entre == et identical()
void main() {
var a = [1, 2];
var b = [1, 2];
// Le == des List compare les références des objets ; a et b sont deux tableaux distincts, le résultat est false
print(a == b);
// identical vérifie s'il s'agit du même objet mémoire ; a et b sont deux tableaux différents, renvoie false
print(identical(a, b));
// c pointe directement vers a, ils partagent le même objet, identical renvoie true
var c = a;
print(identical(a, c));
}
Langage du code : PHP (php)
Complément : pour comparer le contenu de deux listes, utilisez listEquals
import 'package:flutter/foundation.dart';
listEquals(a, b); // true, compare chaque élément du tableauLangage du code : JavaScript (javascript)
Comparaison des chaînes de caractères
Seuls == et != peuvent être utilisés pour comparer des chaînes
void main() {
// Opérateurs de relation / égalité sur chaînes
print("apple" != "banana"); //true
print("apple" == "apple"); //true
//print("zoo" > "apple"); // Erreur : les chaînes n'acceptent pas > < >= <=, seul == != permet de vérifier l'égalité
// Comparaison d'égalité sur valeurs booléennes
print(true == true); //true
print(true != false); //true
}
Langage du code : PHP (php)
Opérateurs de relation combinés aux opérateurs arithmétiques
D’après les cours précédents, la priorité est la suivante : opérations arithmétiques > opérations de relation ; on calcule d’abord les additions, soustractions, multiplications et divisions, puis on réalise les comparaisons de taille et d’égalité ;
void main() {
// Calcul des expressions arithmétiques des deux côtés avant comparaison
print(10 + 5 == 3 * 5); // 15 == 15 → true
print(20 - 3 != 8 + 9); // 17 != 17 → false
print(12 + 4 > 5 + 6); // 16 > 11 → true
print(9 - 7 < 10 - 1); // 2 < 9 → true
print(6 + 2 >= 4 * 2); // 8 >= 8 → true
print(15 - 8 <= 3 + 5); // 7 <= 8 → true
}Langage du code : PHP (php)
Dans l’exemple ci-dessus, on calcule d’abord les expressions mathématiques de chaque côté de l’opérateur de relation, puis on compare les résultats obtenus.