Vous connaissez le mot-clé « final » en Java ? Si je n’est pas le cas, je vous renvoie vers un petit mémento des mots-clés du langage Java.
1 | final int i = 0; |
Vous connaissez la post incrémentation qui s’écrit à l’aide de deux signes plus.
1 | i++; |
Mais que se passe-t-il lorsqu’on cumule les deux ? C’est le puzzle de la semaine. Que fait le code suivant ?
1 2 3 4 |
Je vous propose plusieurs solutions. Essayez de trouver la bonne sans tricher (sans le tester dans Eclipse). Ici, il faut non seulement avoir la bonne réponse mais aussi la bonne explication.
1) Ça ne compile pas ;
2) Ça écrit 0 (zéro) ;
3) Ça écrit 1 ;
4) Ça écrit 2 ;
5) Ça lance une RuntimeException (RE) ;
6) Ça fait autre chose, à préciser.
Exprimez-vous dans les commentaires…
1) Cela ne compile pas !
Exception in thread « main » java.lang.Error: Unresolved compilation problems:
The final local variable i cannot be assigned. It must be blank and not using a compound assignment
L’idée n’est pas de tester pour copier-coller la réponse. L’idée c’est de l’expliquer sans le tester.