Traduire en langage humain une ligne un peu ésotérique
Bonjour,
Je suis totalement newbie en Java, et j'ai une ligne dans un programme (assez simple au demeurant) que je n'arrive pas à comprendre :
soit une variable "r" déclarée en double et à laquelle un calcul attribue une valeur.
Que veux dire cette ligne, qui arrive après le calcul :
Code:
r = (r < 0) ? 0 : r;
J'aurais dit si r est inférieur à 0 alors r est forcé à 0, mais je préfère avoir confirmation de quelqu'un qui connaît, parce que je ne vois pas à quoi sert ": r" dans la fin de la ligne.
L'opération ternaire :
Citation:
si le test renvoie true, la valeur qui se trouve après le ? sera affectée, sinon la valeur après le : sera affectée.
En français, si r est inférieur à 0 alors r est forcé à 0 sinon r est forcé à r et je ne vois pas pourquoi puisque r contient déjà la bonne valeur...
En Pascal (":=" c'est l'affectation, pour ceux qui ne connaîtraient pas) j'aurais dit if (r < 0) then r := 0; et basta.
Grand merci par avance,