#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 является логическим значением