【问题标题】:Boolean "!" Java布尔“!”爪哇
【发布时间】:2023-03-04 11:35:01
【问题描述】:

我需要澄清一下。

所以如果有人这样做:

boolean something = false;

然后他们会这样做:

while(!something){
}

“!”到底是什么?告诉你该做什么?

if 语句条件是什么

if(!something)

【问题讨论】:

  • 谓词的否定

标签: java while-loop boolean


【解决方案1】:

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

【讨论】:

  • 赞成成为第一个突出使用“NOT”一词的答案......这是新手更喜欢理解的技术,而不是像“布尔否定运算符”或“反转值”这样的技术语言布尔值”。
【解决方案2】:

! 表示不是。

如果你使用!,它会打印它的反面。

如果你使用!something,它将打印true

你的代码

if(!something)

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

为了使其成为true,我们使用! 将结果反转为true

【讨论】:

  • 这个答案的最后两行没有意义。答案是正确的,但可能会因为语法错误而失去意义。
  • @LukePark 对不起,编辑期间的朋友,我也在编辑。但我已经添加了你的部分。
  • 没问题,现在很有意义,所以这是主要的!
【解决方案3】:

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

【讨论】:

    【解决方案4】:
    while (!something) {
    ...
    }
    

    等价于

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

    if 语句类似

    英文可以读作“not something”

    【讨论】:

      【解决方案5】:

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

      while (!something)
      

      的意思是“虽然不是什么”。所以这个:

      boolean something = false;
      while (!something)
      

      等于:

      boolean something = true;
      while (something)
      

      或者,换一种说法:

      true == !false
      

      【讨论】:

        【解决方案6】:

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

        【讨论】:

          【解决方案7】:

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

          while 执行“条件为真”。所以你的代码将永远运行。除非您在内部更改 something = true,然后在评估中,!something = true,因此条件不正确并且循环结束

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

          【讨论】:

            【解决方案8】:

            ! 运算符反转任何返回布尔值的表达式的含义。

            Java 确实将 boolean 作为该语言的基本类型,因此,如果任何表达式(无论是文字、变量还是方法调用)是/返回布尔值,则可以使用 ! 一元前缀运算符:

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

            【讨论】:

              【解决方案9】:

              ! 运算符“反转”操作数(true -> falsefalse -> true),但它不会改变变量的值

              例如,

              boolean bool = false;
              

              然后我还有另一个变量:

              boolean bool2 = !bool;
              

              bool2true,而 bool 仍然是 false。就像+ 运算符:

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

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

              所以

              while (!bool)
              

              一样
              while (true)
              

              因为boolfalse

              同样,

              if (!bool)
              

              等价于

              if (true)
              

              出于同样的原因。

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 1970-01-01
                • 2012-06-19
                • 2016-04-22
                • 2019-05-08
                • 2015-07-20
                • 1970-01-01
                • 1970-01-01
                • 2011-07-23
                相关资源
                最近更新 更多