System.out.println(\"First eror :: without semicolon \") // first Error
System.Out.println(\"This second error :: OUT object not used proper :: \");
I'd say this has to do with how compilers often work:
If one of the steps fails, the process must stop, because a compiler cannot perform semantic analysis when the code doesn't meet the syntax.
In java language partially compiler and partially interpreter and In java first compilation happen so compiler should list out all errors
I'm sorry to disappoint you but that's a non sequitur. The interpreter isn't present at compile time and has nothing whatsoever to do with it.
The compiler can't determine all your errors at once, if for example some of them are syntax errors which preclude semantic analysis, or a simple semantic error precludes further analysis.
Your second error is an error only in a Java program, i.e. a string that conforms to the Java syntax. The notion of a non syntactic error in a non-program does not make sense. For the compiler, all strings that are not syntactically correct have the same meaning: none.
It is like you submit the following "program":
double x = 5.3; x[42] = 0;
and complain that the compiler does not tell you that a double value cannot be indexed.
For example, giving this input in a java source file in eclipse gives only "Syntax error on tokens, delete these tokens."