Chargement...

Arguments du programme en Java

Passez des mots sur la ligne de commande au démarrage du programme, et lisez-les dans main. Dans Flag.java, gardez la classe publique Flag et le paramètre String[] args. Affichez args[0] sur la première démo. Sur la seconde, affichez args.length, puis args[0]. Compilez avec javac Flag.java. Lancez java Flag oak pour que le premier mot après le nom de classe soit oak. Le premier écran montre oak. Laissez Generics optionnels aux pages suivantes. Cette leçon porte sur les mots de ligne de commande dans args, pas sur une conversation Scanner et pas sur une étiquette Mini Project.

Lire le premier mot après le nom de classe

Ouvrez Flag.java. Gardez le nom de classe publique Flag. Supprimez les restes de démos Mini Project Box avec Scanner, les impressions Compiling Build, les lignes Summary Recap, et les lancers Random Dice s'ils enterrent l'histoire des arguments. Ce programme ne doit pas attendre une saisie clavier Scanner.
Dans Flag.main, gardez la liste de paramètres String[] args et affichez le premier mot :
System.out.println(args[0]);
Depuis le dossier qui contient Flag.java, lancez javac Flag.java. Puis java Flag oak — pas java Flag.java oak. Le nom de classe est Flag. Le mot oak est le premier argument du programme. Il atterrit dans args[0]. L'écran montre oak.

Flag prints args[0] for oak

java
public class Flag {
    public static void main(String[] args) {
        System.out.println(args[0]);
    }
}

Parcourez l'exécution une fois. javac écrit Flag.class. java Flag oak charge la classe et remplit args avec un élément : "oak". main démarre. args[0] vaut "oak". println écrit oak. Rien ne demande item:. Rien n'affiche mug 4. Rien n'affiche ok venant de Build.
Dites la règle débutant en regardant la commande : les mots après le nom de classe deviennent args. L'index 0 est le premier mot. N'inventez pas de démos Generics sur cette page. Generics optionnels attend après le parcours cœur. Ne tapez pas java Flag seul puis lisez args[0] — ce tableau vide n'a pas de premier mot et l'exécution peut lever une exception.
Si vous voyez encore mug 4 d'un fichier Box restant, passez à Flag.java, compilez, et lancez java Flag oak. Si javac se plaint du nom de classe, gardez public class Flag aligné avec Flag.java.

Compter les mots, puis afficher le premier

Un argument prouve args[0]. Une seconde démo montre args.length avec le premier mot. Gardez la même classe publique Flag. Affichez deux lignes :
System.out.println(args.length);
System.out.println(args[0]);
Recompilez avec javac Flag.java. Lancez java Flag oak pine. L'écran montre 2, puis oak. La longueur vaut 2 car deux mots suivent le nom de classe. Le premier mot reste oak. Le second pine est dans args[1] mais cette démo ne l'affiche pas.
Si vous lancez java Flag oak sur cette démo à deux lignes, l'écran montre 1, puis oak. La longueur suit le nombre de mots que vous avez tapés après Flag.

Flag prints length then args[0]

java
public class Flag {
    public static void main(String[] args) {
        System.out.println(args.length);
        System.out.println(args[0]);
    }
}

Compilez avec javac Flag.java et relancez java Flag oak pine. Parcourez l'exécution une fois. args.length vaut 2. args[0] vaut "oak". Les impressions écrivent ces deux lignes. Rien n'attend Scanner. Rien ne joint mug et 4.
Gardez les deux démos comme deux formes pédagogiques. D'abord prouver qu'un argument s'affiche. Puis prouver longueur plus premier mot. Les deux partagent le même nom de classe et la même idée : les mots après java Flag remplissent args.
Si vous écrivez java Flag.java oak, vous utilisez la mauvaise forme de lancement pour ce parcours de cours. Gardez java Flag plus les mots. Si vous oubliez de compiler après une modification, un .class périmé peut montrer une ancienne forme — recompilez, même habitude Compiling.

args n'est pas Scanner et pas Mini Project

Mini Project vous faisait taper des réponses pendant que le programme attendait. Program Arguments vous demande de passer des mots au démarrage. Scanner lit depuis System.in après le début du processus. args est déjà rempli avant que main s'exécute. Ne mélangez pas ces deux styles de saisie dans un même fichier débutant aujourd'hui.
oak est seulement un mot pédagogique. Ce n'est pas une seed Random ni une ligne de carte Summary. Quand une démo Box restante attend encore à item:, ce fichier fait le travail Mini Project. Passez à Flag et donnez oak sur la ligne de commande.
Sans au moins un mot, lire args[0] échoue. Avec des mots présents, les index commencent à 0. args.length indique combien de mots ont été passés. Gardez ces trois faits ensemble.

Point de contrôle du parcours cœur

Vous avez déjà construit des classes avec main, compilé avec javac, lancé avec java, stocké des valeurs, décidé avec if, parcouru des boucles, appelé des méthodes, utilisé objets et listes, attrapé des erreurs, lu des fichiers, et modelé l'héritage. Mini Project a joint deux réponses tapées en mug 4. Program Arguments montre une autre façon d'alimenter un programme : des mots sur la ligne de lancement.
Cette page termine le parcours Java cœur de ce cours. Des pages optionnelles comme Generics viennent après, si vous le souhaitez. Elles ne sont pas requises pour finir le parcours cœur. Ne traitez pas cette leçon arguments comme un endroit pour inventer ces sujets optionnels.
Gardez un seul Flag public. Gardez String[] args sur main. Gardez la commande de lancement java Flag plus des mots. Gardez les démos Scanner Mini Project hors de cette page quand vous pratiquez les arguments.

Vérifications de dossier avant de finir le cœur

Listez le dossier après une compilation réussie. Vous devez voir Flag.java et Flag.class ensemble. Modifiez la source, enregistrez, lancez javac Flag.java, puis java Flag oak ou java Flag oak pine. Un .class manquant signifie compiler d'abord. Un mauvais dossier signifie que le lanceur ne trouve pas Flag.
Si l'écran ne montre rien, confirmez que main affiche encore. Si l'exécution lève parce que args est vide, ajoutez un mot après le nom de classe. Si deux classes publiques partagent un fichier, gardez seulement Flag publique.
Ne collez pas les invites Scanner de Box dans Flag pour « enrichir » la page. Ne reconstruisez pas les impressions ok de Build ici. Le travail pédagogique, ce sont uniquement les mots de ligne de commande.

Avant Generics optionnels

Vous pouvez garder la classe publique Flag, lire String[] args dans main, afficher args[0] pour java Flag oak, afficher args.length puis args[0] pour java Flag oak pine, compiler avec javac Flag.java, et lancer sans le suffixe .java sur le nom de classe. Le parcours cœur se termine sur cette page. Generics optionnels attend si vous continuez plus tard.
Gardez les démos Flag pour une paire d'arguments claire. Gardez les fichiers Mini Project Box hors de cette page quand vous pratiquez args. Gardez les démos Compiling Build hors de cette page quand vous pratiquez args. Gardez le travail Generics hors de cette page jusqu'à une leçon optionnelle. Ces habitudes sont le checkpoint avant de quitter le parcours cœur. Quand le lancement à un mot montre oak ou le lancement à deux mots montre 2 puis oak, Program Arguments a fait son travail pour cette leçon et le parcours Java cœur est complet.
Un dernier passage dans le dossier : un Flag public, String[] args sur main, pas d'attente Scanner, pas de Random, pas de LocalDate, compilez puis lancez avec des mots après le nom de classe. Lancez javac Flag.java et java Flag oak une fois de plus. Si l'écran montre encore oak, la forme Program Arguments est solide et le cours cœur peut marquer complet tandis que les pages optionnelles restent disponibles plus tard. Préférez une habitude d'arguments claire par lecture pour que chaque passage enseigne la même carte.

🧠 Testez Vos Connaissances

Prêt à Commencer

Testez Vos Connaissances

Mettez-vous au défi avec ce quiz interactif et voyez à quel point vous comprenez le sujet

❓
5
Questions
🎯
70%
Pour Réussir
♾️
∞
Temps
🔄
∞
Tentatives

📝 Instructions

  • Lisez chaque question attentivement
  • Sélectionnez la meilleure réponse pour chaque question
  • Vous pouvez refaire le quiz autant de fois que vous le souhaitez
  • Votre progression sera affichée en haut