Problème de compréhension d'une boucle while
Essoum
Messages postés
3
Statut
Membre
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour, ma question va très probablement vous paraître débile mais je n'arrive vraiment pas à comprendre.
Je pensais que le moniteur allait m'afficher 0 2 4 6, mais non, il m'affiche 1 5 9. Je ne comprends pas qu'en sommant deux nombres identiques on obtienne un nombre impair... Si quelqu'un pouvait m'expliquer ça serait super cool.
Merci d'avance.
public class Test {
public static void main(String[] args) {
int a = 0;
while (a<5){
System.out.println(a++ + a++);
}
}
}
Je pensais que le moniteur allait m'afficher 0 2 4 6, mais non, il m'affiche 1 5 9. Je ne comprends pas qu'en sommant deux nombres identiques on obtienne un nombre impair... Si quelqu'un pouvait m'expliquer ça serait super cool.
Merci d'avance.
public class Test {
public static void main(String[] args) {
int a = 0;
while (a<5){
System.out.println(a++ + a++);
}
}
}
3 réponses
-
a++ + a++
Utiliser a l'incrémenter, puis l'additionner avec a puis l'incrémenter.
En gros,
Var1=a
a=a+1
Var2=a
a=a+1
Afficher Var1+Var2
Donc 0+1 au début, puis 2+3, puis 4+9, ...
-
-
Bonjour,
"en sommant deux nombres identiques"
Ce n'est pas ce que tu fais, vu que tu n'additionnes pasa
aveca
maisa++
aveca++
...
"Je pensais que le moniteur allait m'afficher 0 2 4 6"
Tu as donc compris quea++
permettait d'augmentera
de 1, et c'est exactement ce qui se passe.
Sia
vaut 0 au départ,a++
va renvoyer 0 et passera
à 1, en refaisant à nouveaua++
ça renvoie 1 (la nouvelle valeur dea
) et ça passea
à 2.
Donca++ + a++
aura pour effet de calculer 0+1 et passera
de 0 à 2...
CQFD :-)