Yann Secq wrote:
> Bonjour, j'ai un comportement que je n'arrive pas � expliquer
> avec l'op�rateur de post-incr�mentation en Java :
> 
> public class Test
> {
>   public static void main(String[] args){
>     int taille = 0;
>     taille = taille++;
>     System.out.println(taille);
>   }
> }

Bon, j'explique comment ca marche en java, on notera juste qu'en C,
le comportement n'est pas d�finie par la norme.

le ++ est un operateur d'incrementation post evalue par rapport
� l'expression (c'est le mot important) dans lequel il est ecrit.

Ici, dans l'instruction taille=taille++,
l'expression correspond � taille++.

donc la machine virtuelle evalue la valeur de taille (la valeur
le l'expression taille++) qui vaut 0 puis on effectue
la post-incrementation (donc taille vaut 1)
enfin on stocke dans taille le resultat de l'expression
donc taille vaut 0.

voila, c'est normal, sinon il y a une regle de bonne
programmation qui dit que l'on ne met pas dans une
meme instruction plusieurs assignations
(le ++ est consid�r� comme une assignation),
ca evite les surprises.

Remi





Répondre à