Java 为什么是c=!如果c是布尔值false,那么c是true?
我不明白为什么这段代码返回true:Java 为什么是c=!如果c是布尔值false,那么c是true?,java,boolean,boolean-logic,Java,Boolean,Boolean Logic,我不明白为什么这段代码返回true: boolean c = false; c =! c; 它不是在比较假布尔值和假布尔值吗?或者可能是将“notfalse”赋值给c,这是真的?c=!c(当等价的c=!c时可读性更高)将c的否定赋值给c。此赋值的值是c的新值,如果c最初为false,则该值可能为true 如果要将c与进行比较!c,应该是c!=cc=!c表示“将其当前值的补码赋给c” 如果其当前值为false,则其值变为true 也许你的意思是c!=c,无论c是真是假,它都是假 但是,请注意
boolean c = false;
c =! c;
它不是在比较假布尔值和假布尔值吗?或者可能是将“notfalse”赋值给c,这是真的?c=!c
(当等价的c=!c
时可读性更高)将c
的否定赋值给c
。此赋值的值是c
的新值,如果c
最初为false
,则该值可能为true
如果要将
c
与进行比较!c
,应该是c!=c
c=!c代码>表示“将其当前值的补码赋给c”
如果其当前值为false,则其值变为true
也许你的意思是c!=c
,无论c
是真是假,它都是假
但是,请注意,您不能编写c!=c因为那不是一个有效的语句:你需要以某种方式使用这个表达式,例如
System.out.println(c != c);
或者可能是将“notfalse”赋值给c,哪个是真的!我不知道为什么人们会否决这样的问题?每个人都得从某个地方开始。这家伙只需要解释一下这里发生了什么。他可能是编程新手!