GeeksforGeeks (Français)

Dans les programmes Java, le point à partir duquel le programme commence son exécution ou simplement le point d’entrée des programmes Java est la méthode main(). Par conséquent, c’est l’une des méthodes les plus importantes de Java et avoir une bonne compréhension de celle-ci est très important.

Syntaxe la plus courante de la méthode main() :

classGeeksforGeeks {
.

publicstaticvoid main(String args)

Division

{

.

System.out.println("I am a Geek");

}
}

.


.

I am a Geek

Explication :
Chaque mot de l’instruction public static void main a une signification pour la JVM.

  1. Public : C’est un modificateur d’accès, qui précise d’où et qui peut accéder à la méthode. Rendre la méthode main() publique la rend globalement disponible. Elle est rendue publique pour que la JVM puisse l’invoquer depuis l’extérieur de la classe car elle n’est pas présente dans la classe actuelle.

    .

    class

    GeeksforGeeks {

    .private

    static

    voidmain(String args)

    {

    .

    System.out.println("I am a Geek");

    }
    }

    
    
    
    

    Error: Main method not found in class, please define the main method as:public static void main(String args)or a JavaFX application class must extend javafx.application.Application
  2. Statique : C’est un mot clé qui, lorsqu’il est associé à une méthode, en fait une méthode liée à une classe. La méthode main() est statique afin que la JVM puisse l’invoquer sans instancier la classe. Cela permet également d’éviter le gaspillage inutile de la mémoire qui aurait été utilisée par l’objet déclaré uniquement pour l’appel de la méthode main() par la JVM.

    classGeeksforGeeks { .
    .

    publicvoid main(String args)

    {

    Diversité

    System.out.println("I am a Geek");

    }

    }

    
    
    .
    
    

    Error: Main method is not static in class test, please define the main method as:public static void main(String args)
  3. Vide : C’est un mot-clé et utilisé pour spécifier qu’une méthode ne renvoie rien. Comme la méthode main() ne renvoie rien, son type de retour est void. Dès que la méthode main() se termine, le programme java se termine aussi. Par conséquent, cela n’a aucun sens de retourner de la méthode main() car la JVM ne peut rien faire avec la valeur de retour de celle-ci.

    .class

    GeeksforGeeks {

    public static
    int
    main(String args)

    Division

    {

    System.out.println("I am a Geek");

    return. 1

    ;

    }

    }

    
    

    
    

    Error: Main method not found in class, please define the main method as:public static void main(String args)or a JavaFX application class must extend javafx.application.Application
  4. main : C’est le nom de la méthode main de Java. C’est l’identifiant que la JVM recherche comme point de départ du programme java. Ce n’est pas un mot-clé.

    .

    classGeeksforGeeks {

    publicstaticvoidmyMain(String args)

    {

    . System.out.println("I am a Geek");
    }
    }

    
    
    .
    
    

    Error: Main method not found in class, please define the main method as:public static void main(String args)or a JavaFX application class must extend javafx.application.Application
  5. Chaîne args : Il stocke les arguments de la ligne de commande Java et est un tableau de type java.lang.String classe. Ici, le nom du tableau String est args mais il n’est pas fixe et l’utilisateur peut utiliser n’importe quel nom à sa place.

    classGeeksforGeeks {

    publicstaticvoidmain(String args)
    {

    for(String elem : args)

    System.out.println(elem);
    Division

    }

    }

    
    

    
    

    123

    En dehors de la signature de main mentionnée ci-dessus, vous pourriez utiliser public static void main(String args) ou public static void main(String… args) pour appeler la fonction main en java. La méthode main est appelée si son paramètre formel correspond à celui d’un tableau de Strings.

    La méthode main peut-elle être int ? Si non, pourquoi ?

    classGeeksforGeeks {
    .

    publicstatic int

    main(String args) {

    System.out.println("GeeksforGeeks");

    }
    }

    
    

    
    

    Java ne retourne pas int implicitement, même si nous déclarons que le type de retour de main est int.
    Nous obtiendrons une erreur de compilation

    prg1.java:6 : erreur : missing return statement
    }
    ^
    1 error

    .

    classGeeksforGeeks {

    iv publicstaticintmain(String args) {
    System.out.println("GeeksforGeeks");

    return0;

    }
    }

    
    

    
    

    Maintenant, même si nous retournons 0 ou un entier explicitement nous-mêmes, depuis int main.
    Nous obtenons une erreur d’exécution.

    Erreur : La méthode main doit retourner une valeur de type void dans la classe GeeksforGeeks, veuillez
    définir la méthode main comme:
    public static void main(String args)

    Explication –
    Les programmes C et C++ qui retournent int de main sont des processus du système d’exploitation. La valeur int renvoyée par main en C et C++ est le code de sortie ou le statut de sortie. Le code de sortie d’un programme C ou C++ illustre la raison pour laquelle le programme s’est terminé. Le code de sortie 0 signifie que le programme s’est terminé avec succès. Cependant, un état de sortie non nul indique une erreur. Ex, le code de sortie 1 dépeint des erreurs diverses, telles que « diviser par zéro »

    Le processus parent de tout processus enfant continue à attendre le statut de sortie de l’enfant. Et après avoir reçu le statut de sortie de l’enfant, nettoie le processus enfant de la table des processus et libère les ressources qui lui sont allouées. C’est pourquoi il devient obligatoire pour les programmes C et C++(qui sont des prcoesses de l’OS) de passer son statut de sortie de main explicitement ou implicitement.

    Cependant, Le programme java s’exécute comme ‘main thread’ dans la JVM. Le programme Java n’est même pas directement un processus du système d’exploitation. Il n’y a pas d’interaction directe entre le programme Java et le système d’exploitation. Il n’y a pas d’allocation directe de ressources au programme Java, ou le programme Java n’occupe aucune place dans la table des processus. À qui doit-il alors renvoyer l’état de sortie ? C’est pourquoi la méthode main de Java est conçue pour ne pas renvoyer d’int ou de statut de sortie.

    Mais la JVM est un processus d’un système d’exploitation, et la JVM peut être terminée avec un certain statut de sortie. A l’aide de java.lang.Runtime.exit(int status) ou System.exit(int status)

    Article Tags :

    Java

    Tags de pratique :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *