programmation Java (école d'ingénieur) · Chapitre 2 · Application directe du cours
Court-circuit
Types, variables et expressions · niveau 2
Énoncé
Avec int x = 0;, prévoir le résultat de chaque ligne : une valeur, ou une erreur d'exécution.
System.out.println(x == 0 || 5 / x > 1);
System.out.println(x != 0 && 5 / x > 1);
System.out.println(x > 0 & x < 10);
System.out.println(!(x > 0) && x < 10);
System.out.println(5 / x > 1 || x == 0);
(&, avec un seul signe, est le « et » sans court-circuit.)
Corrigé
true
false
false
true
Exception in thread "main" java.lang.ArithmeticException: / by zero
x == 0est vrai :||n'évalue pas la division. Résultattrue.x != 0est faux :&&s'arrête. Résultatfalse, sans division.&évalue les deux côtés ; aucun ne pose problème ici :false & truevautfalse.!(x > 0)est vrai,x < 10aussi :true.- La division est à gauche : elle est évaluée en premier, et
5 / 0lève une exception. La même condition, écrite dans l'autre ordre, fonctionnerait : l'ordre des opérandes de||et&&compte.
100 % gratuit
La suite du chapitre est sur Adloun
- 10 autres exercices corrigés dans ce chapitre
- Les 2 QCM du chapitre, le premier sans compte
- Le podcast et la vidéo du chapitre : 2 minutes d'écoute sans compte
- Le tuteur, qui guide pas à pas sans donner la réponse
Sans compte : le cours, le premier QCM et 2 minutes de podcast et de vidéo. Exercices et tuteur : inscription gratuite en 30 secondes, sans carte bancaire.