JAVA

giehtp -  
KX Messages postés 19031 Statut Modérateur -
Bonjour,
quelle est difference entre ces deux programme en java au niveau d'exécution.
premier:
int n= 3;
n+=2;
// n=5
second:
int n= 3;
n=n+2;
//n=5

A voir également:

3 réponses

augustin45 Messages postés 154 Statut Membre 31
 
n'y a pas de différence:
le premier utilise l'incrémentation, ce qui te permet de raccourcir ta ligne
mais à l'éxécution, c'est éxactement pareil
0
Ml1990
 
Il ny en a pas! Le premier est juste plus correct, en effet, lorsque tu ecris des longs algos, la première est plus rapide à ecrire.. Pareil pour l'incrementation...
N = n +1 ou n++ signifie la même chose :)
0
KX Messages postés 19031 Statut Modérateur 3 020
 
Je ne suis pas sûr que ça change grand chose en Java, mais dans certains langages il y a une légère subtilité, à savoir que l'appel de l'opérateur unaire += est plus rapide à exécuter puisqu'il n'a besoin de manipuler que 2 espaces mémoire (le résultat, et la valeur d'ajout) au lieu de 3 pour + (le résultat, et les deux valeurs) car même s'il s'agit du même espace mémoire (résultat et première valeur) c'est impossible à détecter et donc l'opération est plus lourde inutilement... Donc += est à privilégier dans ce cas.

De même pour l'opérateur ++ qui est clairement plus rapide puisqu'il n'y a pas du tout de valeur à évaluer, l'opération d'addition peut ainsi être optimisée pour l'ajout de 1.
0