Bonjour,
si i est un int, y a-t-il une différence entre i++ et ++i en Java (dans un for par exemple) ?
Bonjour,
si i est un int, y a-t-il une différence entre i++ et ++i en Java (dans un for par exemple) ?
Salut, si je me souviens bien:
utilise la valeur de i, puis l'incrémente
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 int i =0; int a=i++//a vaut 1 et i vaut 0
Incrémente i et utilise sa valeur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 int i =0; int a=++i//a vaut 1 et i vaut 1
euh... si si, il y a une différence, mais dans un for elle n'apparait pas.
i++ : utilise la valeur de i, puis l'incrémente
++i: incrémente la valeur de i, puis l'utilise
dans le for, la différence n'apparait pas, car cela n'intervient que dans la formule de modification de l'itérateur. En aucun cas la valeur de i n'est utilisé directement, on compare juste sa valeur après modification.
Pour sentir la différence, teste ce code:
ça apparaitra plus clair...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 int i; int j; i=1; j=i++; System.out.println("i++: "+j); i=1; j=++i; System.out.println("++i: "+j);
[edit] zut, encore grillé... je devrais faire des réponses plus courtes!
Tu es sûr? car moi je me souveins d'un truc dans ce genre ou alors je confond...non...
pour être plus clair:
j=i++ correspond à:
tandis que j=++i correspond à:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3j=i; i=i+1;
quand on est dans un for, on a simplement i++, ou ++i, soit simplement i=i+1, donc aucune différence finale et visible entre les deux... mais il y en a une (pas dire qu'il n'y en a pas, parce que ça va donner des boulettes après dans une autre utilisation...)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3i=i+1; j=i;
Bien sur qu'il y a une difference ..
i++ => post-incrementation (c'est a dire l'incrementation se fera en dernier)
++i => pre-incrementation (c'est a dire avant)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 int i=1; int a; a = i++; // a vaut un .. et seulement apres l'affectation i vaudra 2 a = ++i; // a et i vaudront 2
Essaye aussi ceci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 int i = 5; System.out.println(i); i = i++; System.out.println(i); i = ++i; System.out.println(i);
Content d'avoir pu t'aiderEnvoyé par DevloNewb'
Oublie pas de mettre resolu si tu n'as plus de question
Pour mettrefaut pas changer ton post initial, mais ce tag ce trouve tout en bas de la page
++
C'est par l'adresse que vaut le bûcheron, bien plus que par la force. Homère
Installation de Code::Blocks sous Debian à partir de Nightly Builds
Partager