[Debutant] Questions sur l'assignation (++,etc)
Bonjour tout le monde,
Je prépare un cours JAVA que je commencerai à partir de septembre 2006.
J’essaie de faire les exercices concernant les opérateurs arithmétiques et assignation.
Ce n’est pas très compliqué mais il y’a quand même certaines choses que je ne comprends pas.
Chose importante à savoir :
Code:
1 2 3 4 5 6 7 8
| int i, j, k ;
byte by ;
double d;
float f;
k=10;
j=6;
f=3.9f;
d=6.2f |
J’ai certains exercices du genre :
1+2*3
Et je le résous en faisant :
Code:
System.out.println(1+2*3) ;
J’obtiens après compilation et exécution 7.
Par contre pour d’autres énoncés dans le même exercice, je ne comprends pas comment il trouve les réponses.
Voici ceux-là :
3) : il arrive à 1 ! comment fait-il pour arriver à 1 ?
Si je fais
Code:
System.out.println(38020) ;
j’obtiens 38020 et pas 1.
7) 5%3 : 2
Comme j’ai pu comprendre, % (modulo) donne 1 si une division donne un reste exemple 7 /2 et 0 si il n’y a pas de reste exemple 4/2.
Par contre je ne sais pas d’où vient ce 2, je ne comprends pas comment on obtiens 2.
12) 20%3*2/2 (idem que l’exercice numéro 7).
14) k++ : j’obtiens 11 si je fais :
k++ ;
System.out.println(k) ;
11
Par contre si je fais
Code:
1 2
|
System.out.println(k++) |
J’obtiens 10
Par contre System.out.println("K++ " + k++); donne 10 dans la console DOS mais k = 11 !!! car quand je fais l’exercice d’après qui est :
System.out.println(++k) ; j’obtiens 12 alors que le Professeur indique comme réponse 11 !
Si je met en commentaire System.out.println("K++ " + k++); l’exercice ci-dessus me donne 11.
Vous pourriez m’expliquez svp ?
42) k=(k>j) ?:j+1 = 10
ci-dessus, je ne comprends pas du tout. Je ne sais pas à quoi sert ce ? et le :…
k++ + ++k donne 22, je pensais que k++ donnait 10 et pas 11 ???
(k%2= = 0) ?-1 :1 : ici je ne comprends pas du tout.
b ^ true : pourriez-vous me dire à quoi correspond ce ^ ???
Voilà, merci d’avance pour votre aide.
bgs