如何在JAVA中使用NOT运算符作为整数

如何在JAVA中使用NOT运算符作为整数 在此处输入图像描述

当我把NOT运算符(!)它显示一个错误包com.learnJava.first;

public class LogicalOpTable { public static void main(String[] args) { int p,q; System.out.println("P\t Q\t AND\t OR\t XOR\t NOT\n"); p = 1; q = 1; System.out.println(p+ "\t " + q + "\t " + (p&q) + "\t " + (p|q) + "\t " + (p^q) + "\t " + !p ); p = 1; q = 0; System.out.println(p + "\t " + q + "\t " + (p&q) + "\t " + (p|q) + "\t " + (p^q) + "\t " + !p); p = 0; q = 1; System.out.println(p + "\t " + q + "\t " + (p&q) + "\t " + (p|q) + "\t " + (p^q) + "\t " + !p); p = 0; q = 0; System.out.println(p + "\t " + q + "\t " + (p&q) + "\t " + (p|q) + "\t " + (p^q) + "\t " + !p); } } 

您需要使用按位补码运算符~ ,而不是逻辑补码运算符!


但是,您的代码似乎有点不匹配:您的类称为LogicalOpTable ,但您使用的是按位运算符,而不是逻辑运算符。

如果你真的想做逻辑运算,使用boolean值而不是int

如果你真的想做按位操作,请为你的类命名,这样就不会让人感到困惑;)

一年后,但嘿,也许它仍然相关。

我在这个练习中遇到了同样的问题,但我采取了不同的方式。 如果我没有弄错,p和q最初是布尔类型,任务是修改表格以显示1和0而不是true和false。

我所做的是将每个表达式作为一个整体从boolean转换为int(例如int a =(!p)?1:0;)并将其替换为其余代码的变量(例如System.out.println(。 …. + a);)