、この表現は、コンパイル、および実行したときに、test
が印刷されますされます:なぜこのブール値はJavaではなくC++でコンパイルされますか? C++で
if(!1 >= 0) cout<<"test";
が、Javaでは、これはコンパイルされません。
if(!1 >= 0) System.out.println("test");
、代わりに括弧が必要です:
if(!(1>=0)) System.out.println("test");
1 >= 0
が真であり、NOT
が真であるため、test
は印刷されません。偽です。
なぜ文は偽であっても、Javaではなく、C++でtest
をコンパイルして出力するのはなぜですか?
ありがとうございました。
C++では、 '! '演算子も'> = 'より高い優先度を持ちます。 – qwertyuiop5040
正の値だけでなく、負の値も真です。唯一の真でない値は0です。 –