Problème d'affectation simple
Bonjour,
Je débute en Java et je voudrais bien comprendre les bases, j'utilise Eclipse pour écrire des petites procédures à l'aide d'un tuto créé sur ce site :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
|
class Test4 {
public static void main (String args[]) {
int n1=0;
int n2=0,x=0,y=0;
System.out.println("1= " + x++); // est équivalent à
y=++x;
System.out.println("2= " + x + " y=" + y);/* x = x + 1;*/
System.out.println("3= " + ++x); // est équivalent à
/* x = x + 1;*/System.out.println("4=" + x);
System.out.println("n1 = " + n1 + " n2 = " + n2);
ici n1=n2++;
/*n1=n2;*/
System.out.println("n1 = " + n1 + " n2 = " + n2);
n1=++n2;
System.out.println("n1 = " + n1 + " n2 = " + n2);
n1=n1++; //attention
ici2 System.out.println("n1 = " + n1 + " n2 = " + n2);
}
} |
Ma question est simple pourquoi ici n1 ne prends pas la valeur de n2 soit 1 ? pourtant on est bien en affectation et pourquoi sur ici2 n1 ne s'incrémente pas soit avoir la valeur 3 ?
Extrait du cours "Les opérateurs d'incrémentation et de décrémentation sont : n++ ++n n-- --n
Si l'opérateur est placé avant la variable (préfixé), la modification de la valeur est immédiate sinon la modification n'a lieu qu'à l'issue de l'exécution de la ligne d'instruction (postfixé)
L'opérateur ++ renvoie la valeur avant incrémentation s'il est postfixé, après incrémentation s'il est préfixé."
Dans les 2 cas je suis en postfixé la modif n'a lieu qu'à l'issue de l'éxécution de la ligne
si quelqu'un peut m'aiguiller merci