class TestCompilation
{
public static void main(String []args)
{
Syste.out.rintln("Hello");//First Error
Syste.Out.rintln("Hello");//Second Error (Not printed at compiler time because it syntatically correct as in compiler first phase)
Hitesh542.add(); //there is no such class called Hitesh542.- but compiler thinks that it is right way to call the method. So it passes the first time.
Hitesh542.add()();//Look out here.. There is a problem, that we can't call a method like this..So it will show the error on first lookup.
System.otu.println("Hello")//second Errorasdasdas
if(); //look this is also an error.- A BASIC syntax error shown at the first lookup.
try{
int i = 10 / 0;
}
//Third error
//So bottom line is the JAVA syntatical errors are checked first i.e The SYNTAX of JAVA not the classes or objects.
//But obv is the first thing is Java Compiler should get the Java class first for compilation on proper path. :)
}
}
3 Réponses :
Je dirais que cela a trait à la manière dont les compilateurs fonctionnent souvent: p>
Si l'une des étapes échoue, le processus doit s'arrêter, car un compilateur ne peut pas effectuer une analyse sémantique lorsque le code ne répond pas à la syntaxe. P>
Dans la langue Java Partiellement compilateur et partiellement interpréteur et en première compilation Java, le compilateur devrait indiquer toutes les erreurs p> blockQuote>
Je suis désolé de vous décevoir, mais c'est un non séqueur. EM> L'interprète n'est pas présent à la compilation et n'a rien à voir avec cela. P>
Le compilateur ne peut pas déterminer toutes vos erreurs à la fois, si, par exemple, certaines d'entre elles sont des erreurs de syntaxe qui empêchent une analyse sémantique, ou une simple erreur sémantique empêche une analyse plus poussée. P>
Votre deuxième erreur est une erreur uniquement dans un programme C'est comme si vous soumettez le "programme" suivant: p> et plaindre que Le compilateur ne vous dit pas qu'une double valeur ne peut pas être indexée. p> par exemple, donnant à cette entrée dans un fichier source Java dans Eclipse ne donne que "une erreur de syntaxe sur jetons, supprimez ces jetons." P > p>
Malheureusement pour votre réponse, le compilateur fait i> vous dit plus ou moins exactement que: 'Erreur: tableau requis, mais double trouvé'. La chaîne que vous avez posterd est i> une partie d'un programme Java légal et ne montre donc pas votre point le moindre.
@EJP je veux dire ce qui précède pour être le texte du programme entier. Comme il n'y a pas de classe, le compilateur n'a pas besoin de la peine si le texte serait une partie valide d'un programme Java.
Qu'est-ce que vous avez essayé? Postez vos codes.
@JDeveloper: Je pense que sa question est claire.
@Jdeveloper: "Postez vos codes" ??? Lire la question correctement
@ImProver que vous avez raison, j'ai mal compris cette question.
Classe TestCompilation {Public Static Void Main (String [] args) {Syste.out.rintln ("Bonjour"); // première erreur SYSTE.OUT.RINTLN ("Bonjour"); // Deuxième erreur (non imprimé au compilateur) }}
@Jdeveloper :: J'ai posté mon code IT juste deux lignes de code ... Quand je compile au-dessus du programme, Compiler me donnez uniquement une première erreur alors qu'en est-il de la deuxième erreur ... (Selon le fonctionnaire Work :: Répertorié Toutes les erreurs.)
@ HITESH542 Merci pour vos efforts. J'ai reçu vos doutes.