Pouquoi la méthode public static void main string args ?

public static void main est la fameuse méthode qu'on la trouve dans tous nos programmes Java, mais elle est implémentée aussi dans les autres langages orienté objet.

Exemple:

public class MainTest {
public static void main (String[] args) {
String str = "Bonjour tout le monde";
System.out.println(str);
}
}
Bonjour tout le monde

Que veut dire le main d'un programme java ?

Le main est est la méthode qui se trouve dans la classe principale dans la racine de la pile d’exécution. Dans le langage de programmation Java, chaque application ou programme doit contenir la méthode main:

public static void main(String[] args)
  • public indique que le main est accessible à partir d'autres classes;
  • static permet d'invoquer la méthode sans instancier l'objet de la classe;
  • void signifie une procédure qui n'a pas de type de retour.
Les mots clés public et static peuvent être permutés ou ne pas etre écrits dans l'ordre(public static ou static public). Vous pouvez donner n'importe quel nom à l'argument, mais la plupart des programmeurs préfèrent args.

La méthode main accepte un seul argument sous forme d'un tableau de chaîne de caractères String.

String[] args

Ce tableau est le mécanisme pour que le système passe les informations à votre application. Chaque String est une ligne de commande. Par exemple:

java main arg1 arg2 arg3

Les programmeurs débutants et même la plupart des applications ne font pas ça, c'est juste pour vous expliquer comment faire pour définir des arguments et les faire passer dans le tableau args. Donc, String[] args est facultatif.

Exemple:

public class MainTest {
public static void main (String[] args) {
int i=1;
for (String s: args) {
System.out.println("args["+i+"] : "+s);
i++;
}
}
}
Vous n'aurez aucun résultat dans la console Eclipse ou Netbeans parce que vous n'avez pas fait passer les arguments. Comme j'ai dis, l’exécution se fait en ligne de commande. Tapez cmd dans la boite de recherche du menu Démarrer:

Compiler un programme java avec lignes de commande javac

La première chose à faire est d’accéder à l'emplacement du compilateur JDK avec la commande cd, puis copier la classe MainTest.java dans le dossier de JDK. Ensuite, l'étape de compilation avec javac et à la fin l’exécution java MainTest hello world 2015. C'est simple, on a fait passé les arguments hello world 2015 et les imprimer.

Comment le faire directement dans Eclipse ?

C'est plus simple:
  1. Cliquez File --> Properties --> Run/Debug Settings et cliquez sur Edit dans le panneau droit;
  2. Dans la fenêtre Edit Configuration, cliquez sur Arguments, là ou on remplie les arguments;
remplir les arguments String[] args dans Eclipse

Références:
What does 'public static void' mean in Java?
A Closer Look at the "Hello World!" Application
Command-Line Arguments