Значение ! в синтаксисе Java - PullRequest
16 голосов
/ 28 июля 2011

В строке ниже, где показано return(!variable);, что восклицательный знак делает с переменной?

return(!weekday || vacation);

Ответы [ 6 ]

11 голосов
/ 28 июля 2011

Символ ! является логическим отрицанием.Это формальное имя, я полагаю, «не логично».Логически, !true == false и !false == true.

Как сказано в комментариях Platinum Azure, этот оператор может применяться только к boolean типам.

10 голосов
/ 28 июля 2011

! является логическим оператором NOT, определенным в Разделе 15.15.6 Спецификации языка Java. Это составляет true false и false true. Так что этот оператор return возвращает логическое значение, которое будет true, если либо weekday равно false («не будний день»), либо (||) vacation равно true. Будет false, если weekday равно true, а vacation равно false.

5 голосов
/ 28 июля 2011

! означает отрицание. По сути, «Хорошо, поэтому, что бы ни следовало, если это правда, верните ложь, если ложь, верните истину». (! будет работать только на логических значениях в Java). В этом случае ваше возвращение становится:

верните, что это не будний день или что это отпуск.

2 голосов
/ 28 июля 2011

На все ваши вопросы оператора можно ответить в руководстве по Java .

1 голос
/ 28 июля 2011

Это означает, что NOT weekday (логическое значение false).! означает отрицание.

0 голосов
/ 28 июля 2011

Это отрицание. ! означает not.

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