2 votes

Est-ce que l'utilisation d'une parenthèse fait une différence lors de l'utilisation de && ou ||?

Est-il préférable de l'un par rapport à l'autre? Si oui, pourquoi?

 int value1 = 1;
 int value2 = 2;

 if (value1 == 1 && value2 == 2) {
    System.out.println("works");
    }

 if ((value1 == 1) && (value2 == 2)) {
    System.out.println("works");
    }

Les résultats attendus correspondent aux résultats réels. Les deux affichent la chaîne "works"

6voto

gtgaxiola Points 4488

Les parenthèses sont utiles pour grouper vos expressions logiques de la même manière que vous le feriez dans une expression mathématique.

Cela rend l'ordre de priorité plus clair.

Dans ce cas, elles ne sont pas nécessaires car vous travaillez avec seulement 2 expressions.

Mais que se passe-t-il dans un cas similaire en utilisant à la fois OU et ET ?

Cela peut mener à un cas ambigu :

if (a && b || c)

Sera interprété comme :

if ((a && b) || c)

Alors que vous vouliez que l'expression soit traitée comme :

if (a && (b || c))

-4voto

Said E. Points 53

Non c'est complètement la même chose. Parce que 1 && ... n'est pas une expression valide et donc elle sera lue comme si vous aviez mis les parenthèses.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X