Имеет ли смысл использование скобок при использовании && или ||? - PullRequest
0 голосов
/ 05 февраля 2019

Один предпочтительнее другого?Если да, то почему?

 int value1 = 1;
 int value2 = 2;

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

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

Ожидаемые совпадения с реальными результатами.Оба печатают строку "работает"

Ответы [ 2 ]

0 голосов
/ 05 февраля 2019

Скобки полезны для группировки ваших логических выражений так же, как в математическом выражении.

Это делает порядок приоритета более ясным.

В этом случае они не нужны, как выработа только с 2 выражениями.

Но что происходит в аналогичном случае с использованием OR и AND?

Это может привести к неоднозначному случаю:

if (a && b || c)

Будет интерпретироваться как:

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

Когда вы хотели, чтобы выражение обрабатывалось как:

if (a && (b || c))    
0 голосов
/ 05 февраля 2019

Нет, это абсолютно то же самое.Потому что 1 && ... не является допустимым выражением, и поэтому оно будет читаться так, как вы установили скобки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...