Тип выражения Java

#java #types #expression #theory

#java #типы #выражение #теория

Вопрос:

Я видел вопрос в руководствах по Java, который продолжает шлифовать мое оборудование, поэтому я размещаю его здесь, чтобы решить его раз и навсегда.

Вопрос в том:

Если n и k имеют тип int, то какого типа будет выражение ‘n> k amp; amp; k < 0’?

Возможные ответы: byte, boolean, int, double, не будет компилироваться.

Спасибо за ваш совет по этому поводу.

Комментарии:

1. откройте свою любимую среду разработки и проверьте ее самостоятельно

Ответ №1:

Простой способ проверить — просто распечатать его, используя, например, Ideone. Проверьте эту ссылку, чтобы увидеть демонстрацию.

Тем не менее, выражение принимает значение a boolean . Поскольку < и > имеют более высокий приоритет, чем amp;amp; , выражение эквивалентно (n > k) amp;amp; (k < 0) , что немного легче интерпретировать.

Комментарии:

1. ideone.com/P57hUQ — Значение «помещается» в java.lang. Логическое значение, и это было бы не так, если бы это было int, byte или что-либо другое, кроме логического значения.

Ответ №2:

логическое

Это выражение обычно используется в условии и возвращает true или false.

Ответ №3:

Это логическое значение, потому что : (n > k amp;amp; k < 0)

  • n > k возвращает логическое значение
  • k < 0 возвращает логическое значение
  • логическое значение amp;amp; boolean является логическим значением