Java Language Les opérateurs relationnels (<, <=,>,> =)


Exemple

Les opérateurs < , <= , > et >= sont des opérateurs binaires permettant de comparer des types numériques. La signification des opérateurs est celle que vous attendez. Par exemple, si a et b sont déclarés comme byte , short , char , int , long , float , double ou les types de boîte correspondants:

- `a < b` tests if the value of `a` is less than the value of `b`. 
- `a <= b` tests if the value of `a` is less than or equal to the value of `b`. 
- `a > b` tests if the value of `a` is greater than the value of `b`. 
- `a >= b` tests if the value of `a` is greater than or equal to the value of `b`. 

Le type de résultat pour ces opérateurs est boolean dans tous les cas.

Les opérateurs relationnels peuvent être utilisés pour comparer des nombres de types différents. Par exemple:

int i = 1;
long l = 2;
if (i < l) {
    System.out.println("i is smaller");
}

Les opérateurs relationnels peuvent être utilisés lorsque l'un ou les deux nombres sont des instances de types numériques encadrés. Par exemple:

Integer i = 1;   // 1 is autoboxed to an Integer
Integer j = 2;   // 2 is autoboxed to an Integer
if (i < j) {
    System.out.println("i is smaller");
}

Le comportement précis est résumé comme suit:

  1. Si l'un des opérandes est un type encadré, il n'est pas enregistré.
  2. Si l'une des opérandes maintenant un byte , à short ou char , il est promu à un int .
  3. Si les types des opérandes ne sont pas les mêmes, l'opérande avec le type "plus petit" est promu au type "plus grand".
  4. La comparaison est effectuée sur les valeurs int , long , float ou double résultantes.

Vous devez faire attention aux comparaisons relationnelles impliquant des nombres à virgule flottante:

  • Les expressions qui calculent des nombres à virgule flottante entraînent souvent des erreurs d'arrondi du fait que les représentations à virgule flottante de l'ordinateur ont une précision limitée.
  • Lorsque vous comparez un type entier et un type à virgule flottante, la conversion de l'entier en virgule flottante peut également entraîner des erreurs d'arrondi.

Enfin, Java ne prend pas en charge l'utilisation d'opérateurs relationnels avec d'autres types que ceux répertoriés ci-dessus. Par exemple, vous ne pouvez pas utiliser ces opérateurs pour comparer des chaînes, des tableaux de nombres, etc.