Qu'est-ce que “String args[]”? le paramètre principal de la méthode Java
Je suis juste de commencer à écrire des programmes en Java. Quel est le code Java suivant signifie?
public static void main(String[] args)
-
Qu'est-ce que
String[] args
? -
Quand vous utilisez ces
args
?
Code Source et/ou les exemples qui sont privilégiées par rapport résumé des explications
Vous devez vous connecter pour publier un commentaire.
En Java
args
contient fournis arguments de ligne de commande comme un tableau deString
objets.En d'autres termes, si vous exécutez votre programme
java MyProgram one two
puisargs
contiendra["one", "two"]
.Si vous vouliez sortir le contenu de
args
, vous pouvez simplement parcourir en boucle comme ça...args
n'a pas nécessairement à être nomméargs
(vous pouvez l'appeler ce que vous voulez) - même si il est préférable de suivre la convention. Vous pouvez aussi voirString... args
de temps en temps, ce qui est équivalent.args
garanti d'être séparés par un espace, indépendamment de l'OS?-version
par exemple, il estjava -version
etjava.exe -version
, mais pasjava.exe /version
(tente de charger la classe principale de.version
). Juste mes 2 cents si jamais quelqu'un tombe sur ce.java "one two"
puisargs[0]
serait"one two"
et pasargs[0] == "\"one"
/args[1] == "two\""
.-
et la/
en face deversion
de @la réponse de Luc. Si ce n'est le système d'exploitation, puis, éventuellement, l'invite de commande (sous Windows) ou tout ce qui est utilisé pour exécuter le programme, lit l'entrée de la donner et passe les arguments en conséquence.Ceux qui sont pour les arguments de ligne de commande en Java.
En d'autres termes, si vous exécutez
Puis
args
contient:[ "un", "deux" ]
La raison pour cela est de configurer votre application de fonctionner d'une manière particulière, ou de fournir quelques éléments d'information dont il a besoin.
Si vous êtes nouveau à Java, je recommande fortement la lecture par le biais de l'officiel d'Oracle JavaTM Tutoriels.
args
contient les arguments de ligne de commande passés au programme Java lors de l'invocation. Par exemple, si j'invoque le programme comme suit:Puis
args
sera un tableau contenant les chaînes de"-f"
et"file.txt"
.La réponse suivante est basée sur ma compréhension & certains de test.
Qu'est-ce que String[] args?
Ans- >
String[] -> Comme Nous savons que c'est un simple tableau de chaînes.
args -> est le nom d'un tableau, il peut être n'importe quoi (par exemple, a, ar, argument, paramètre, paramètre) aucun problème avec le compilateur & exécuté & je l'ai testé en tant que bien.
E. g.
1)public static void main(String[] argument)
2)public static void main(String[] parametre)
Quand vous utilisez ces arguments?
Ans->
La fonction principale est conçu très intelligemment par les développeurs. Réel de la pensée est très profond.
Qui est essentiellement développé en tenant compte des C & C++ basé sur l'argument de ligne de Commande, mais aujourd'hui personne ne l'utilise plus.
Chose 1- Utilisateur peut entrer n'importe quel type de données à partir de la ligne de commande peut être le Numéro ou String & faut de l'accepter par le compilateur, ce qui type de données que nous devrions avoir à utiliser? voir la chose 2
Chose 2- Chaîne est le type de données qui prend en charge tous les types de données primitifs, comme int, long, float, double, byte, tir, char en Java. Vous pouvez analyser facilement dans n'importe quel type de données primitif.
E. g Le programme suivant est compilé & exécuté & je l'ai testé en tant que bien.
Si l'entrée est -> 1 1
String [] args
est aussi la façon de déclarer un tableau de Chaînes de caractères en Java.Dans cette méthode, la signature, le tableau
args
sera rempli avec des valeurs lorsque la méthode est appelée (comme les autres exemples ici montrent). Puisque vous êtes en train d'apprendre, il faut comprendre que ceargs
tableau est tout comme si vous l'avez créée vous-même dans une méthode, comme ceci:Je voudrais briser
dans les pièces.
"public" signifie que main() peut être appelée à partir de n'importe où.
"statique" signifie que main() n'appartient pas à un objet spécifique
"void" signifie que main() ne retourne pas de valeur
"principal" est le nom d'une fonction. main() est spécial car c'est le début du programme.
"String[]" moyen d'un tableau de Chaîne de caractères.
"args" est le nom de la Chaîne[] (dans le corps de la fonction main()). "args" n'est pas spécial; vous pouvez le nommer rien d'autre, et le programme fonctionne de la même.
String[] args
est une collection de Chaînes de caractères séparées par un espace, qui peut être saisie dans le programme sur le terminal. Plus souvent que pas, le débutant ne va pas utiliser cette variable, mais il est toujours là au cas où.Même tho OP est seulement de parler, à propos de la
String[] args
, je veux donner un exemple complet de l'public static void main(String[] args)
.Public
: est un Modificateur D'Accès, qui définit qui peut accéder à cette Méthode. Public signifie que cette Méthode sera accessible par n'importe quelle Classe(Si d'autres Classes sont en mesure d'accéder à cette Classe.).Static
: est un mot-clé qui identifie la classe de chose. Cela signifie que la Méthode donnée ou variable n'est pas exemple, mais de la Classe. Il peut être consulté sans la création de l'instance d'une Classe.Void
: est utilisé pour définir le Type de Retour de la Méthode. Il définit ce que la méthode peut retourner. Nulle signifie que la Méthode ne retourne aucune valeur.main
: est le nom de la Méthode. Cette Méthode nom est recherché par la JVM comme un point de départ pour une application avec une seule signature.String[] args
: est le paramètre à la Méthode main.Si vous regardez dans les JDK code source (jdk-src\j2se\src\share\bin\java.c):
Vous pouvez voir que le méthode de démarrage en java doit être nommé
main
et doit avoir la signature spécifiquepublic static void main(String[] args)
Le code nous dit aussi que le
public static void main(String[] args)
n'est pas fixe, si vous modifiez le code dans (jdk-src\j2se\src\share\bin\java.c) à une autre signature, cela fonctionne, mais en changeant cela vous donnera d'autres problèmes possibles en raison de la java spécificationsOfftopic: Ça fait 7 ans depuis l'OP posé cette question, je pense que l'OP peut répondre à sa propre question maintenant.
Lorsque vous avez terminé votre code, vous pourrez le transformer en un fichier avec l'extension .java, qui peut être exécuté par un double-clic, mais aussi tout au long d'une console (terminal sur mac, cmd.exe sur windows) qui permet à l'utilisateur de faire beaucoup de choses. Une chose est qu'ils peuvent voir des messages sur la console (le Système.out.imprimer ou d'un Système.out.println) qu'ils ne peuvent pas voir si ils double-cliquez sur. Une autre chose qu'ils peuvent faire est de spécifier les paramètres, donc, normalement, vous devez utiliser la ligne de
après naviguer dans le dossier du programme avec
sur windows ou
sur Mac (notez que mac est moins maladroit) pour exécuter du code, mais de spécifier les paramètres que vous utiliseriez
Ces paramètres sont enregistrés dans le tableau args, que vous pouvez utiliser dans votre programme que vous souhaitez afin de permettre à l'utilisateur de contrôler les paramètres spéciaux tels que ce fichier pour l'utiliser ou de la quantité de mémoire que le programme peut avoir. Si vous voulez savoir comment utiliser un tableau, vous pouvez probablement trouver un sujet sur ce site ou tout simplement une recherche sur google. Notez que le nombre de paramètres peut être utilisé.
Je pense que c'est assez bien couvert par les réponses ci-dessus que
String args[]
est tout simplement un tableau des arguments de chaîne vous pouvez passer votre demande lorsque vous l'exécutez. Pour la fin, je pourrais ajouter que c'est aussi valable pour définir la méthode de paramètre passé à lamain
méthode comme une variable d'argument (varargs) de type Chaîne de caractères:public static void main (String... args)
En d'autres termes, la
main
méthode doit accepter soit un tableau de chaînes (String args[]
) ou varargs (String... args
) comme un argument de méthode. Et il n'y a pas de magie avec le nomargs
soit. Vous pouvez aussi bien écrirearguments
ou mêmefreddiefujiwara
comme illustré ci-dessous.e.gs.:public static void main (String[] arguments)
public static void main (String[] freddiefujiwara)
Quand une classe java est exécuté à partir de la console, la méthode principale est ce qui est appelé. Pour ce faire, la définition de cette méthode doit être
Le fait que ce tableau de chaînes est appelé args est une convention, mais n'est pas strictement nécessaire. Vous renseigner ce tableau à la ligne de commande whne vous appelez votre programme
Ceux-ci sont couramment utilisés pour définir les options de votre programme, par exemple les fichiers à l'écriture ou à la lecture.
dans
public static void main(String args[])
args est un tableau de la console de l'argument de ligne dont le type de données String.
dans ce tableau, vous pouvez stocker différents arguments de la chaîne, en invoquant à la ligne de commande comme indiqué ci-dessous:
java myProgram Shaan Royal
puis Shaan et Royal seront stockées dans le tableau comme
arg[0]="Shaan";
arg[1]="Royale";
vous pouvez le faire manuellement aussi à l'intérieur du programme, lorsque vous ne les appelez pas à la ligne de commande.
Explication simple dans un langage simple.
La principale méthode attend de nous fournir quelques arguments lorsque nous dirigeons notre JVM pour le nom de la classe. Cela signifie que, supposons que votre nom de fichier est Try.java maintenant pour exécuter cette commande vous invite à écrire "javac Try.java" pour compiler suivi par "java Essayer" à exécuter. Supposons maintenant qu'au lieu d'écrire simplement "java Essayer", vous écrivez "java Essayez 1". Ici vous avez passé un argument "1". Ce seront prises par votre méthode main, même si vous ne l'utilisez pas dans votre code.
Si vous voulez vérifier si votre méthode principale est effectivement l'argument "1" ou pas. Simplement, à l'intérieur de votre méthode principale tapez la commande suivante:
Le style
dataType[] arrayRefVar
est préféré. Le styledataType arrayRefVar[]
vient du langage C/C++ et a été adopté en Java pour accueillir les programmeurs C/C++.En plus de tous les commentaires précédents.
peut être écrite comme
ou