Maison >Java >javaDidacticiel >Introduction à l'utilisation de la méthode main() en Java

Introduction à l'utilisation de la méthode main() en Java

不言
不言avant
2019-02-23 16:52:023715parcourir

Cet article vous présente une introduction à l'utilisation de la méthode main() en Java. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. J'espère qu'il vous sera utile.

Le point d'entrée du programme Java --- la signature de la méthode main() est : public static void main(String[] args) {...}, où,

modificateur public : les classes Java sont appelées par la JVM afin de permettre à la JVM d'appeler librement ce main. (), le modificateur public est utilisé. Exposez cette méthode.

modificateur statique  : Lorsque la JVM appelle cette méthode principale, elle ne créera pas d'abord la classe principale objet, puis appelez la méthode principale via l'objet. La JVM appelle la méthode principale directement via cette classe, utilisez donc static pour modifier la méthode principale.

♦ void return value  : La méthode principale étant appelée par la JVM, la valeur de retour de cette méthode sera renvoyée à la JVM , ce qui n'a aucun sens, donc la méthode main() n'a aucune valeur de retour.

La méthode ci-dessus comprend également un paramètre formel de tableau de chaînes String[] args Selon les règles d'appel de méthode : celui qui appelle la méthode est responsable de l'attribution des valeurs. ​​aux paramètres formels. En d'autres termes, la méthode main() est appelée par la JVM, c'est-à-dire que le paramètre args doit être attribué par la JVM. Mais comment la JVM sait-elle attribuer une valeur au tableau args ? Regardez d'abord le programme suivant :

public class ArgsTest{
  public static void main(String[] args){
    //输出args数组的长度
    System.out.println(args.length);
    //遍历args数组的每一个元素
    for(String arg : args){
      System.out.println(arg);
    }
  }
}

Le programme ci-dessus est le programme "hello world" le plus simple, juste ce programme Augmentation de la longueur du tableau args de sortie et du code pour parcourir les éléments du tableau args. Utilisez la commande Java ArgsTest pour exécuter le programme ci-dessus et voyez que le programme génère uniquement un 0, ce qui indique que la valeur args est un tableau de longueur 0. Ceci est raisonnable car l'ordinateur n'a aucune capacité de réflexion et ne peut exécuter fidèlement que les interactions de l'utilisateur. . Compte tenu de sa tâche, puisque le programme ne définit pas les valeurs des paramètres pour le tableau args, la JVM ne connaît pas les éléments du tableau args, donc la JVM définit le tableau args sur un tableau d'une longueur de 0.

Modifiez la commande pour exécuter le programme ci-dessus :

java ArgsTest Java Spring

Le résultat imprimé est :

2
Java
Spring

On peut en conclure que si le nom de la classe est suivi d'une ou plusieurs chaînes (plusieurs chaînes séparées par des espaces) lors de l'exécution d'un programme Java, la JVM Ces les chaînes seront affectées aux éléments du tableau args en même temps. La relation entre les paramètres et le tableau args lors de l'exécution d'un programme Java est la suivante : le premier paramètre correspond au premier élément du tableau, le deuxième paramètre correspond au deuxième élément du tableau,..., et ainsi de suite.

Si un paramètre lui-même contient un espace, le paramètre doit être placé entre guillemets "", sinon la JVM traitera l'espace comme un séparateur de paramètre au lieu du paramètre lui-même. Par exemple, utilisez la commande suivante pour exécuter le programme ci-dessus :

java ArgsTest "Java Spring"

Vérifiez que la longueur des arguments est de 1, qu'il n'y a qu'un seul élément de tableau et que sa valeur est Java Spring. .

Question : Comment afficher "hello world" avant que la méthode main() ne soit exécutée ?

Comme nous le savons tous, dans le langage Java, la méthode main() est la méthode de saisie du programme Lorsque le programme est en cours d'exécution, la méthode main(. ) est chargée en premier. Mais cela signifie-t-il que la méthode main() est le premier module à être exécuté lorsque le programme est en cours d'exécution ?

La réponse est non. Dans le langage Java, puisque le bloc statique sera appelé lors du chargement de la classe, vous pouvez utiliser le bloc statique pour réaliser la fonction de sortie de "hello world" avant l'exécution de la méthode main(). L'exemple est le suivant :

public class Test{
  static{
    System.out.println("hello world");
  }
  public static void main(String[] args){
    System.out.println("hello my world");
  }
}

Le résultat de l'exécution du programme est :

hello world
hello my world

Étant donné que les blocs de code statiques seront exécutés avant l'exécution de la méthode main() quel que soit l'ordre, le code suivant aura le même résultat que le code ci-dessus :

public class Test{
  public static void main(String[] args){
    System.out.println("hello my world");    
    static{
      System.out.println("hello world");
    }
  }
}

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer