布尔值“!” Java

Boolean "!" Java

我需要一些说明。

所以如果有人这样做:

boolean something = false;

然后他们这样做:

while(!something){
}

'!' 到底是什么?告诉我该做什么?

还有if语句的条件是什么

if(!something)

!表示不是。

如果您使用 !,它会反向打印。

就像你使用 !something 它会打印 true.

您的代码

if(!something)

If 语句在条件计算结果为 true 时执行。

为了使true,我们用!将结果取反为true

while (!something) {
...
}

相当于

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

与 if 语句类似

英文可以读成"not something"

!Logical Complement Operator,它反转布尔值。在描述该代码时,它基本上意味着 "not" 。所以:

while (!something)

表示"while not something"。所以这个:

boolean something = false;
while (!something)

等于:

boolean something = true;
while (something)

或者,换句话说:

true == !false

! 与布尔值 NOT 相同。在条件表达式前放置 ! 将反转当前值。例如。 true 变为 falsefalse 变为 true。此外,可轻松 Google 搜索。

!代表否定。 Java 中的循环或 if 语句将仅在条件为 true 时计算。 ! 用于当你想在某些东西不是 true 时执行某些操作。

!是相反的。因此,如果您的变量 something 设置为 false,则 !something = true.

while 执行"while the condition is true"。所以你的代码将永远 运行 。除非你在内部更改 something = true,然后在评估中,!something = true,所以条件不为真并且循环结束

if也是一样,如果条件为真,它就会执行里面的内容。否则它会跳过那部分

! 运算符反转任何表达式的含义,returns 一个布尔值。

Java 确实有 boolean 作为语言的原始类型,因此,如果任何表达式(无论是文字、变量还是方法调用) is/returns 是布尔值,则! 一元前缀运算符可用:

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

! 运算符 "reverse" 操作数(true -> falsefalse -> true),但它不会改变变量的值

例如,

boolean bool = false;

然后我有另一个变量:

boolean bool2 = !bool;

bool2truebool 仍然是 false。就像 + 运算符:

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

在这种情况下,i的值不是1,对吧?但是 j 是 1.

所以

while (!bool)

相同
while (true)

因为 boolfalse.

同样,

if (!bool)

等同于

if (true)

出于同样的原因。

!符号表示某物的倒数,或不是某物。在 java 中,这通常应用于布尔方法和变量,以专门排除您附加到的任何内容,或者引用相反的内容。在您的情况下,"something" 被声明为 false,放置“!”在它前面使它变为真,所以你的 while 循环将 运行 直到 "something" 再次变为假。同样的事情发生在你的 if 条件中,因为布尔数据类型通常只有 true 或 false,!告诉 while 循环 "Hey this is the opposite of what it is" 哪个为真,因此条件通过并且循环中的代码将 运行。