Adloun

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 == 0 est vrai : || n'évalue pas la division. Résultat true.
  • x != 0 est faux : && s'arrête. Résultat false, sans division.
  • & évalue les deux côtés ; aucun ne pose problème ici : false & true vaut false.
  • !(x > 0) est vrai, x < 10 aussi : true.
  • La division est à gauche : elle est évaluée en premier, et 5 / 0 lè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

Exercice suivant et tuteur

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.

Le cours du chapitre · Tous les exercices du chapitre

Exercice suivant et tuteur →