Arguments de ligne de commande en Java [avec exemple]
Publié: 2021-03-03Lors de l'écriture de vos programmes Java, vous avez dû remarquer les arguments (String[]) dans la méthode main(). Ce sont des arguments de ligne de commande stockés dans la chaîne transmise à la méthode principale. Ces arguments sont appelés arguments de ligne de commande.
Il est assez courant d'utiliser des arguments de ligne de commande car vous ne voulez pas que votre application fasse la même chose à chaque exécution. Si nous voulons configurer son comportement d'une manière ou d'une autre, nous devrons utiliser des arguments de ligne de commande.
Table des matières
Quelle est l'utilisation des arguments de ligne de commande ?
Ces arguments de ligne de commande sont transmis depuis la console. Ils peuvent être reçus dans le programme java pour être utilisés comme entrée. Nous pouvons passer autant d'arguments que nous le voulons, car il est stocké dans un tableau. Voici un exemple d'utilisation des arguments de la ligne de commande.
Dans le programme
essai de classe
{
public static void main(String[] args)
{
for(int i=0;i< args.length;++i)
{
System.out.println(args[i]);
}
}
}
Dans la console
java args1 args2 args3 …
En conséquence, nous obtiendrons une sortie avec ces arguments, que nous avons passés en entrée. Ce programme imprimera tous ces arguments séparés par une nouvelle ligne :
args1
args2
args3
Comme nous pouvons le voir, les arguments de la ligne de commande ne peuvent être que de type String. Que se passe-t-il si nous voulons passer des nombres comme arguments ? Disons que vous voulez ajouter quelque chose à l'argument que vous passez. Si vous le faites avec le programme ci-dessus, ce sera quelque chose comme :
Dans le programme
essai de classe
{
public static void main(String[] args)
{
for(int i=0;i< args.length;++i)
{
System.out.println(args[i]+1);
}
}
}
Dans la console
test java 11 12 13
Sortir
111
121
131
Vous pouvez voir qu'il ajoute les caractères à la "chaîne" de nombres. Pour leur ajouter un nombre, nous devons convertir les arguments sous forme entière. Pour ce faire, nous utilisons la méthode parseInt() de la classe Integer. La mise en œuvre sera comme -
Dans le programme
essai de classe {
public static void main(String[] args) {
pour (int je = 0; je < args.length ; ++i ) {
int arg = Integer.parseInt(args[i]);
System.out.println(arg + 1);
}
}
}
Dans la console
test java 11 12 13
Sortir
12
13
14
Comme vous pouvez le voir, nous obtenons les résultats souhaités. Nous pouvons également faire la même chose avec double() et float() en utilisant parseDouble() et parseFloat().
Parfois, les arguments fournis ne peuvent pas être transformés en type numérique spécifique, ce qui entraînera une exception appelée NumberFormatException.
Maintenant, vous pourriez penser que nous transmettons ces arguments à notre application. Cela affectera-t-il les performances de l'application de quelque manière que ce soit ? La réponse est non. La transmission d'arguments ne ralentira pas votre application et n'aura aucune autre incidence sur les performances. Même si c'est le cas, c'est très minime et ne devrait pas être perceptible.
Lire : Idées et sujets de projet Java
Arguments variables en Java
Dans JDK 5, Java a inclus une nouvelle fonctionnalité qui simplifie la création de méthodes nécessitant un nombre variable d'arguments. Cette fonctionnalité est appelée varargs, ce qui signifie des arguments de longueur variable. La méthode qui prend les arguments variables est appelée une méthode varargs.
Avant que cette fonctionnalité ne soit implémentée en Java, il y avait deux manières possibles de passer des arguments variables dans une application. L'un d'eux utilisait une méthode surchargée, et un autre impliquait de transmettre les arguments dans un Array, puis de transmettre ce tableau à une méthode. Ces deux méthodes étaient sujettes aux erreurs. Varargs a résolu tous les problèmes rencontrés avec les méthodes précédentes avec l'avantage supplémentaire d'un code propre et avec moins de travail.
Les arguments de longueur variable sont spécifiés avec trois points (…), ci-dessous la syntaxe complète pour le même –
public static void varMethod(int … x)
{
// corps de la méthode
}
La syntaxe ci-dessus indique au compilateur que varMethod() peut être appelée avec zéro ou plusieurs arguments.
Les varargs peuvent également être surchargés.
Il existe quelques règles pour l'utilisation de varargs :
- Il ne peut y avoir qu'un seul argument variable dans la méthode.
- Les arguments variables doivent être le dernier argument.
Une erreur se produit lors de l'utilisation de deux arguments dans une méthode Varargs
void method(String… str, int… a)
{
// Erreur de temps de compilation car il y a deux varargs
}
Une erreur se produit lorsque nous spécifions Varargs comme premier argument au lieu du dernier
void method(int… a, String str)
{
// Erreur de temps de compilation lorsque vararg apparaît
// avant l'argument normal
}
Donc, si vous voulez passer des arguments variables, vous pouvez utiliser la méthode varargs.
Apprenez des cours de logiciels en ligne dans les meilleures universités du monde. Gagnez des programmes Executive PG, des programmes de certificat avancés ou des programmes de maîtrise pour accélérer votre carrière.
Mise à niveau, mise à niveau et mise à jour
Java est en effet un langage exceptionnel et est utilisé par diverses multinationales et entreprises pour développer des applications à grande échelle.
La portée de ces compétences peut vraiment améliorer votre carrière. upGrad propose des cours exceptionnels sur l'apprentissage automatique, le codage dans de nombreux langages tels que Java, C++, C, l'IA, le traitement du langage naturel et bien plus encore. Égayez votre carrière en passant au langage du futur : Java !
Si vous souhaitez en savoir plus sur Java, le développement de logiciels à pile complète, consultez le programme Executive PG de upGrad & IIIT-B en développement de logiciels à pile complète, conçu pour les professionnels en activité et offrant plus de 500 heures de formation rigoureuse, 9+ projets et affectations, statut d'ancien de l'IIIT-B, projets de synthèse pratiques et aide à l'emploi avec les meilleures entreprises.
Comment exécuter une classe Java en utilisant la ligne de commande ?
Pour exécuter une classe Java en utilisant la ligne de commande, c'est-à-dire à partir de l'invite du shell, tapez simplement la commande java -jar jar_file.jar où jar_file.jar est le nom de votre fichier JAR (par exemple QuoraAnswerManager.jar). Le moyen le plus simple d'exécuter une classe Java dans la ligne de commande consiste à la compiler et à lui fournir un chemin de classe. Compilez votre classe Java avec la commande suivante : javac -classpath classpathMainFolder myClass.java. Exécutez ensuite la classe compilée avec la commande suivante : java -classpath classpathMainFolder myClass.
Que sont les fichiers jar en Java ?
En Java, il existe de nombreux types de fichiers jar. Les fichiers Jar sont simplement des packages. Le format de fichier JAR a été créé à l'origine pour Java et était destiné à la distribution de logiciels. Les fichiers JAR sont parfois appelés archives JAR car ils fonctionnent de la même manière qu'un fichier ZIP, en ce sens qu'ils stockent plusieurs fichiers et répertoires dans un seul fichier pour une distribution facile. Un fichier JAR est parfois appelé une archive Java. Ce n'est pas techniquement correct, mais il est souvent utilisé dans la communauté Java où les mots archive et packaging sont parfois utilisés pour désigner les fichiers JAR.