Что означает эта линия в Java: boolean retry = id == 1;

Я изучаю Java некоторое время и все еще изучаю новые синтаксические трюки и прочее. Я столкнулся с этим в исходном коде Android:

boolean retry = id == 1;

Что это значит?

Ответ 1

retry true, если id имеет значение 1, иначе retry - false.

Ответ 2

id == 1 - это логическое выражение, которое истинно, если id равно 1, а false в противном случае.

boolean retry = id == 1; объявляет логическую переменную с именем retry и присваивает этой переменной значение булевского выражения id == 1.

Таким образом, он объявляет логическую переменную, которая истинна, если id == 1 и false в противном случае.

Чтобы сделать его более понятным, вы можете записать его так:

boolean retry = (id == 1);

Ответ 3

Это то же самое, что и

boolean retry;
if (id == 1)
   retry = true;
else
   retry = false;

Ответ 4

==, который является предикатом равенства, имеет более высокий приоритет, чем =, который является оператором присваивания.

Следовательно, сначала оценивается id == 1, а затем его значение (true или false) присваивается retry.

Ответ 5

Булевский повтор получает значение true, если id == 1.

Это то же самое, что:

boolean retry;
if (id == 1) {
    retry = true;
} else {
    retry = false;
}

Ответ 6

сначала id оценивается с 1, поэтому предположительно id является integer.

После этого этому значению присваивается значение retry, поэтому, если id равно 1, retry станет true, а для любого другого значения id retry станет false.

Ответ 7

Эта строка создает логическую переменную и устанавливает ее в true, если id равно 1 и false, если это не так.

Ответ 8

Он действует как тройная операция, (x) ? true : false в C, С++, С# и т.д.

Аналогичный синтаксис:

boolean retry = (id == 1)? true: false; 

Или это может быть написано другим способом:

boolean retry;
if (id == 1) {
    retry = true;
} else {
    retry = false;
}

Ответ 9

Я нахожу, что просто использование parens помогает устранить путаницу за сложными заявлениями вроде этого.

boolean retry = (id == 1); Имеет для меня гораздо больше смысла. Здесь ясно, что (id == 1) - это выражение, которое оценивается, и результат присваивается boolean retry

Ответ 10

Это способ определения булевой переменной.

Если id - 1, значение retry будет true.

Ответ 11

retry присваивает выражение, которое будет либо истинным, либо ложным, поскольку retry является boolean. Кроме того, сначала будет решено ==, а затем будет назначено retry.

Ответ 12

Возможно, было бы легче увидеть, что происходит, если вы посмотрите на это следующим образом:

boolean retry = (id == 1);

Таким образом, в основном он проверяет, равен ли id равному 1, а затем присваивает результат переменной-попытке.

Ответ 13

Это в основном то же самое, что и retry = (id == 1). Он оценивает логическое выражение и присваивает его retry.

Ответ 14

Логическая переменная retry получит значение 0 или 1 в зависимости от того, возвращает ли выражение id==1 true или false.

Если значение id равно 1, то id==1 будет соответствовать true, таким образом retry=1.

И если значение id равно 0, то id==1 будет соответствовать false, таким образом retry=0.

Обратите внимание, что == является оператором сравнения.

Ответ 15

Я буду основывать свой ответ на предположении, что id является int, поэтому сравнение с 1 является правильным, и ошибка компиляции отсутствует. == является оператором равенства в java, как описано в разделе 15.21.1 JLS. Будучи булевым оператором, == выводит значение boolean. = - оператор присваивания java, в данном конкретном случае это оператор составного назначения, имеющий следующий синтаксис:

boolean f = (op1 op op2)

In translation = присваивает выходное значение операции (op1 op op2) левому операнду, в данном случае f.

Оглядываясь на ваш образец, вывод id == 1 (true, если id имеет значение 1, иначе false) присваивается повторить.

В заключение на простом английском языке ваш образец имеет следующее значение: Повторите попытку, пока id имеет значение 1.

Ответ 16

1.int id = 1;
  boolean retry = id == 1;

что означает retry = true;.

2.int id = 2;
  boolean retry = id == 1;

что означает retry = false;.

Упрощение id == 1 можно рассматривать как

if ( id == 1 ){
}