2015-11-15 2 views
0

Мне нужно уточнение.Boolean "!" Java

Так что, если кто-то делает:

boolean something = false; 

, а затем они делают:

while(!something){ 
} 

, что именно в том, что '!' говоря, что делать?

также, что если заявление условие, если его

if(!something) 
+0

отрицание предиката – lrleon

ответ

1

! означает нет.

Если вы используете !, он распечатает обратную сторону.

Как если бы вы использовали !something, он напечатает true.

Ваш код

if(!something) 

Если действия выполняются, если условие имеет значение true.

Для того, чтобы сделать это true, мы используем !, чтобы сделать обратный результат true.

+1

Последние две строки этого ответа не имеют смысла. Ответ правильный, но это значение может быть потеряно из-за грамматических ошибок. –

+0

@ LukePark жаль, что при редактировании я тоже редактировал. Но я добавил твои детали. –

+0

Не проблема, это имеет смысл сейчас, так что это главное! –

0
while (!something) { 
... 
} 

эквивалентно

while (something == false) { 
... 
} 

Аналогично для если заявление

Это можно прочитать на английском языке как «не то, что»

0

! является Logical Complement Operator, который инвертирует значение булева. Это в основном означает «не» при описании этого кода. Таким образом:

while (!something) 

означает «пока не что-то». Так что это:

boolean something = false; 
while (!something) 

равно это:

boolean something = true; 
while (something) 

Или, иначе говоря:

true == !false 
3

! такая же, как логическое значение NOT. Размещение ! перед условным выражением приведет к изменению текущего значения. Например. true будет false и false будет true. Кроме того, легко найти Google.

+2

Активирован для того, чтобы быть первым Ответ на заметное слово «НЕ» ... это то, что новички гораздо больше любят понимать, чем техноязычные, как «логический оператор отрицания» или «инвертирует значение из булева ". –

0

! означает отрицание. Loops или if в Java будет оцениваться только тогда, когда условие true. ! используется, когда вы хотите выполнить некоторую операцию, когда что-то не true.

0

! наоборот. Поэтому, если ваша переменная имеет значение false, то! Something = true.

В то время как выполняется «пока условие истинно». Таким образом, ваш код будет работать вечно. Если вы не измените что-то = истинное, а затем, в оценке, что-то = истинно, поэтому условие не соответствует истине и заканчивается концом

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

0

Оператор ! инвертирует значение любого выражения, которое возвращает логическое значение.

Java имеет boolean в качестве примитивного типа для языка, так что, если любое выражение (будь то в буквальном смысле, переменной или вызова метода) является/возвращает логическое значение, то унарный оператор префикса ! может использоваться:

  • !false;
  • !someVariableWhichIsABoolean;
  • !someMethodWhichReturnsABoolean;
  • !someObjectReference.callingSomeMethodWhichReturnsABoolean().
0

! оператор "обратный" операнд (true ->false и false ->true), но это не изменяет значение переменной.

Например,

boolean bool = false; 

А потом я еще одну переменную:

boolean bool2 = !bool; 

bool2 является true пока bool еще false. Это как оператор +:

int i = 0; 
int j = i + 1; 

В этом случае значение i «s не 1, не так ли? Но j равно 1.

Так

while (!bool) 

такая же, как

while (true) 

потому что bool является false.

Аналогично,

if (!bool) 

эквивалентно

if (true) 

по той же причине.

2

The! символ означает обратное что-то, или НЕ что-то.В java это обычно применяется к булевым методам и переменным, чтобы специально исключить все, к чему вы привязываете, или ссылаться на противоположное. В вашем случае «что-то» указано как ложное, помещая «!» перед ним это делает так, чтобы ваш цикл while работал до тех пор, пока «что-то» снова не станет ложным. То же самое происходит в вашем условии if, так как типы данных Boolean обычно являются только true или false, the! говорит цикл while «Эй, это противоположность тому, что это», что истинно, поэтому условие проходит, и код в цикле будет работать.