Lorsque la JVM appelle la méthode main(), le programme Java commence à s'exécuter. Les applications Java démarrent avec cette méthode. Sans la méthode main, le fichier Java se compile correctement car au moment de la compilation, le compilateur ne vérifie pas la méthode main, mais au moment de l'exécution, la JVM vérifie si la méthode main() est disponible. Par conséquent, nous obtiendrons une exception au moment de l’exécution.
Dans cet article, nous comprendrons pourquoi nous devrions suivre la convention « public static void main(String[] args) ».
Grammaire
public class class_name {
// This line must be written as it is
public static void main(String[] args) {
// code will be wriiten here
}
}
Copier après la connexion
La traduction chinoise de
Exemple 1
est :
Exemple 1
public class Tutorialspoint {
public static void main(String []args) {
System.out.println("Hello, you are on tutorials point");
}
}
Copier après la connexion
Sortie
Hello, you are on tutorials point
Copier après la connexion
Dans notre fichier java, il devrait y avoir au moins une classe publique disponible. Par convention, la méthode main doit être définie dans une classe car tout en Java se trouve à l’intérieur de la classe. Cela montre que Java est un langage orienté objet.
Dans l'exemple ci-dessus, la classe 'Tutorialspoint' contient la méthode main(). Discutons des différentes parties de la méthode main() −
public
se traduit par :
public
public est un modificateur d'accès utilisé pour définir la visibilité et l'accessibilité des variables et des méthodes. Les variables et méthodes définies à l’aide du mot-clé public sont accessibles par n’importe quelle classe ou package. Nous avons précédemment expliqué que la JVM appelle la méthode main(), qui ne se trouve pas dans la classe actuelle. Par conséquent, la méthode main() est déclarée publique afin que nous puissions y accéder dans une portée globale ou n'importe où.
Que se passe-t-il si nous n'utilisons pas le mot-clé public dans la méthode main() ?
Exemple 2
se traduit par :
Exemple 2
public class Tutorialspoint {
static void main(String []args){
System.out.println("Hello, you are on tutorials point");
}
}
Copier après la connexion
Sortie
Error: Main method not found in class Tutorialspoint, please define the main method as:
public static void main(String[] args)
or a JavaFX application class must extend javafx.application.Application
Copier après la connexion
Nous avons rencontré cette erreur car la JVM n'a pas pu trouver la méthode main().
statique
Normalement, nous appelons des méthodes en créant un objet d'une classe, mais les méthodes statiques peuvent être appelées sans utiliser d'objet. JVM appelle la méthode main() avant de créer un objet, c'est pourquoi nous devons le déclarer comme statique.
La traduction chinoise de
Exemple 3
est :
Exemple 3
La plupart des membres de la classe intégrée Math sont statiques. Nous pouvons les utiliser directement sans créer d'objets.
public class Main {
public static void main( String[] args ) {
double x = 6.55;
double y = 4.32;
System.out.println(" Ceil value of x: " + Math.ceil(x) );
System.out.println(" Floor value of y: " + Math.floor(y) );
}
}
Copier après la connexion
Sortie
Ceil value of x: 7.0
Floor value of y: 4.0
Copier après la connexion
L'exemple ci-dessus démontre l'utilisation des méthodes statiques ceil() et floor() de la classe Math. Nous pouvons voir qu'ils sont utilisés directement dans notre programme sans créer d'objets de la classe Math.
Voyons ce qui se passe si nous ne déclarons pas la méthode main() comme statique.
La traduction chinoise de
Exemple 4
est :
Exemple 4
public class Tutorialspoint {
public void main(String []args){
System.out.println("Hello, you are on tutorials point");
}
}
Copier après la connexion
Sortie
Error: Main method is not static in class Tutorialspoint, please define the main method as:
public static void main(String[] args)
Copier après la connexion
La JVM ne peut pas appeler le code ci-dessus.
vide
Le type de retour void signifie que la méthode ne renvoie rien. En Java, la méthode main() est le point d’entrée et de sortie du programme. Lorsque la méthode main() termine son exécution, le programme Java termine également son exécution. Si nous fournissons un type de retour comme int ou double, cela générera une erreur au moment de la compilation.
Comprenons à travers un exemple -
Exemple 5
public class Tutorialspoint {
public int main(String []args){
System.out.println("Hello, you are on tutorials point");
}
}
Copier après la connexion
Sortie
Tutorialspoint.java:4: error: missing return statement
}
^
1 error
Copier après la connexion
Il s'agit d'une erreur de compilation. Le compilateur nécessite une instruction return, mais elle n'est d'aucune utilité pour la JVM.
principale()
main est le nom de la méthode, ne le confondez pas avec un mot-clé. Il est toujours écrit sous la forme « principal ».
La traduction chinoise de
String[] args
est :
String[] args
String[] args est un paramètre qui accepte les paramètres de type String. Cela nous permet de transmettre des paramètres via le terminal et de stocker ces paramètres dans un tableau de chaînes. On peut dire que String[] args est un argument de ligne de commande.
Exemple 6
Cet exemple illustrera comment transmettre des paramètres à un fichier Java depuis le terminal.
public class Arg {
public static void main(String []args){
// for each loop to print argument taken from terminal
for(String arg : args) {
System.out.println(arg);
}
}
}
Copier après la connexion
Sortie
Pour compiler le code depuis le terminal, tapez la commande suivante : javac Arg.java
Pour exécuter le code depuis le terminal, entrez la commande suivante : java Arg « Your String »
PS D:\Java Programs> java Arg "Hello, You are on Tutorials Point"
Hello, You are on Tutorials Point
Copier après la connexion
Conclusion
Dans cet article, nous avons discuté du programme Java pour comprendre « public static void main(String[] args) ». Nous avons également expliqué comment utiliser les paramètres « String[] args » pour recevoir les entrées du terminal.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!