public static void main(String[] args) – Méthode principale Java

Introduction

La méthode main de Java est généralement la première méthode que vous apprenez lorsque vous commencez à programmer en Java, car c’est le point d’entrée pour exécuter un programme Java. La méthode main peut contenir du code à exécuter ou appeler d’autres méthodes, et elle peut être placée dans n’importe quelle classe faisant partie d’un programme. Les programmes plus complexes ont généralement une classe qui ne contient que la méthode main. La classe qui contient la méthode main peut avoir n’importe quel nom, bien que vous puissiez simplement appeler la classe Main.

Dans les exemples qui suivent, la classe qui contient la méthode main est appelée Test:

Test.java
public class Test {

	public static void main(String[] args){

		System.out.println("Hello, World!");
	
	}
}

Dans cet article, vous apprendrez le sens de chaque composant de la méthode main.

Syntaxe de la méthode principale Java

La syntaxe de la méthode main est toujours la suivante :

public static void main(String[] args){
	// some code
}

Vous ne pouvez changer que le nom de l’argument du tableau String. Par exemple, vous pouvez changer args en myStringArgs. L’argument du tableau String peut être écrit comme String... args ou String args[].

public

L’indicateur d’accès de la méthode main doit être public afin que la JRE puisse accéder et exécuter cette méthode. Si une méthode n’est pas publique, l’accès est restreint. Dans l’exemple de code suivant, la méthode main est dépourvue de l’indicateur d’accès public:

Test.java
public class Test {

	static void main(String[] args){

		System.out.println("Hello, World!");
	
	}
}

Lorsque vous compilez et exécutez le programme, l’erreur suivante se produit car la méthode main n’est pas publique et la JRE ne peut pas la trouver :

  1. javac Test.java
  2. java Test
Output
Error: Main method not found in class Test, please define the `main` method as: public static void main(String[] args) or a JavaFX application class must extend javafx.application.Application

static

Lorsque le programme Java démarre, aucun objet de la classe n’est présent. La méthode main doit être static afin que la JVM puisse charger la classe en mémoire et appeler la méthode main sans créer d’instance de la classe au préalable. Dans l’exemple de code suivant, la méthode main est dépourvue du modificateur static:

Test.java
public class Test {

	public void main(String[] args){

		System.out.println("Hello, World!");
	
	}
}

Lorsque vous compilez et exécutez le programme, l’erreur suivante se produit car la méthode main n’est pas static:

  1. javac Test.java
  2. java Test
Output
Error: Main method is not static in class Test, please define the `main` method as: public static void main(String[] args)

void

Chaque méthode Java doit fournir le type de retour. Le type de retour de la méthode Java main est void car elle ne retourne rien. Lorsque la méthode main a fini son exécution, le programme Java se termine, donc il n’y a pas besoin d’un objet retourné. Dans l’exemple de code suivant, la méthode main tente de retourner quelque chose alors que le type de retour est void:

Test.java
public class Test {

	public static void main(String[] args){
	
		return 0;
	}
}

Lorsque vous compilez le programme, l’erreur suivante se produit car Java n’attend pas de valeur de retour lorsque le type de retour est void:

  1. javac Test.java
Output
Test.java:5: error: incompatible types: unexpected return value return 0; ^ 1 error

main

La méthode main Java est toujours nommée main. Lorsqu’un programme Java démarre, il recherche toujours la méthode main. L’exemple de code suivant montre une méthode main renommée en myMain:

Test.java
public class Test {

	public static void myMain(String[] args){

		System.out.println("Hello, World!");
	}
}

Lorsque vous compilez et exécutez le programme, l’erreur suivante se produit car le JRE ne peut pas trouver la méthode main dans la classe:

  1. javac Test.java
  2. java Test
Output
Error: Main method not found in class Test, please define the `main` method as: public static void main(String[] args) or a JavaFX application class must extend javafx.application.Application

String[] args

La méthode main de Java accepte un seul argument de type tableau String. Chaque chaîne dans le tableau est un argument de ligne de commande. Vous pouvez utiliser les arguments de ligne de commande pour influencer le fonctionnement du programme ou pour transmettre des informations au programme en cours d’exécution. L’exemple de code suivant montre comment imprimer les arguments de ligne de commande que vous saisissez lorsque vous exécutez le programme :

Test.java
public class Test {

	public static void main(String[] args){

    	for(String s : args){
		System.out.println(s);
    	}
	
    }
}

Lorsque vous compilez le programme puis l’exécutez avec quelques arguments de ligne de commande séparés par des espaces, les arguments sont imprimés dans le terminal :

  1. javac Test.java
  2. java Test 1 2 3 "Testing the main method"
Output
1 2 3 Testing the main method

Conclusion

Dans cet article, vous avez appris chaque composant de la méthode main de Java. Continuez votre apprentissage avec plus de tutoriels Java.

Source:
https://www.digitalocean.com/community/tutorials/public-static-void-main-string-args-java-main-method