【发布时间】:2023-03-04 11:35:01
【问题描述】:
我需要澄清一下。
所以如果有人这样做:
boolean something = false;
然后他们会这样做:
while(!something){
}
“!”到底是什么?告诉你该做什么?
if 语句条件是什么
if(!something)
【问题讨论】:
-
谓词的否定
标签: java while-loop boolean
我需要澄清一下。
所以如果有人这样做:
boolean something = false;
然后他们会这样做:
while(!something){
}
“!”到底是什么?告诉你该做什么?
if 语句条件是什么
if(!something)
【问题讨论】:
标签: java while-loop boolean
! 与布尔 NOT 相同。在条件表达式前面放置! 将反转当前值。例如。 true 变为 false 和 false 变为 true。此外,可轻松通过 Google 搜索。
【讨论】:
! 表示不是。
如果你使用!,它会打印它的反面。
如果你使用!something,它将打印true。
你的代码
if(!something)
If 语句在条件计算为 true 时执行。
为了使其成为true,我们使用! 将结果反转为true。
【讨论】:
!符号表示某物的倒数,或者不是某物。在 java 中,这通常应用于布尔方法和变量,以明确排除您将其附加到的任何内容,或引用相反的内容。在你的情况下,“某事”被声明为假,放置“!”在它前面使它成为真的,所以你的while循环将一直运行,直到“某事”再次变为假。同样的事情发生在你的 if 条件中,因为布尔数据类型通常只有真或假,!告诉 while 循环“嘿,这与它是相反的”这是真的,所以条件通过并且循环中的代码将运行。
【讨论】:
while (!something) {
...
}
等价于
while (something == false) {
...
}
if 语句类似
英文可以读作“not something”
【讨论】:
! 是Logical Complement Operator,它反转布尔值。在描述该代码时,它基本上意味着“不是”。所以:
while (!something)
的意思是“虽然不是什么”。所以这个:
boolean something = false;
while (!something)
等于:
boolean something = true;
while (something)
或者,换一种说法:
true == !false
【讨论】:
! 代表否定。 Java 中的循环或if 语句仅在条件为true 时才会计算。 ! 用于当您想要执行某些操作而不是 true 时。
【讨论】:
!是相反的。因此,如果您的变量 something 设置为 false,则 !something = true。
while 执行“条件为真”。所以你的代码将永远运行。除非您在内部更改 something = true,然后在评估中,!something = true,因此条件不正确并且循环结束
if 也一样,如果条件为真,它将执行它里面的内容。否则它将跳过该部分
【讨论】:
! 运算符反转任何返回布尔值的表达式的含义。
Java 确实将 boolean 作为该语言的基本类型,因此,如果任何表达式(无论是文字、变量还是方法调用)是/返回布尔值,则可以使用 ! 一元前缀运算符:
!false;!someVariableWhichIsABoolean;!someMethodWhichReturnsABoolean;!someObjectReference.callingSomeMethodWhichReturnsABoolean()。【讨论】:
! 运算符“反转”操作数(true -> false 和 false -> true),但它不会改变变量的值。
例如,
boolean bool = false;
然后我还有另一个变量:
boolean bool2 = !bool;
bool2 是 true,而 bool 仍然是 false。就像+ 运算符:
int i = 0;
int j = i + 1;
在这种情况下,i 的值不是 1,对吧?但是j 是 1。
所以
while (!bool)
和
一样while (true)
因为bool 是false。
同样,
if (!bool)
等价于
if (true)
出于同样的原因。
【讨论】: