In C++, questa espressione sarà la compilazione, e quando correva, stamperà test
:Perché questo booleano si compila in C++ e non in Java?
if(!1 >= 0) cout<<"test";
ma in Java, questo non verrà compilato: sono necessari
if(!1 >= 0) System.out.println("test");
e invece parentesi:
if(!(1>=0)) System.out.println("test");
ma test
non viene stampato poiché 1 >= 0
è vero e NOT
true è falso.
Quindi perché compila E stampa test
in C++, anche se l'istruzione è falsa, ma non in Java?
Grazie per il vostro aiuto.
In C++ l'operatore '!' Ha anche precedenza più alta di '> ='. – qwertyuiop5040
Non solo i valori positivi sono veri, anche i valori negativi. L'unico valore non vero è 0. –