В С++ это выражение будет скомпилировано, а при запуске будет напечатано test:
if(!1 >= 0) cout<<"test";
но в Java это не будет компилироваться:
if(!1 >= 0) System.out.println("test");
и вместо этого нужны скобки:
if(!(1>=0)) System.out.println("test");
но test не будет печатать, так как 1 >= 0 - true, а NOT true - false.
Итак, зачем он компилирует AND распечатывает test в С++, хотя утверждение является ложным, но не в Java?
Спасибо за вашу помощь.