Paramètres en Java
Écrivez une méthode nommée greet qui reçoit un mot. Entre les parenthèses, écrivez String name. Dans le corps, affichez hi, un espace, puis name : System.out.println("hi " + name);. Depuis main, appelez greet("lena");. L'écran doit montrer une ligne : hi lena. Les lettres lena ne sont pas figées dans la méthode. Elles arrivent par l'appel et se placent dans le nom name pour ce passage. Ce transfert est ce que cette page enseigne.
Un nom entre les parenthèses
Sur la page des méthodes, les parenthèses après ring restaient vides. L'affichage était toujours ding. Ici les parenthèses tiennent un nom typé pour que chaque appel puisse envoyer une valeur différente. Ce nom typé est un paramètre. La valeur que vous écrivez dans l'appel est l'argument de ce passage.
Créez un petit fichier de programme nommé Tip.java. La public class de la première ligne doit correspondre au nom du fichier : public class Tip. Ne laissez pas un ancien nom de classe Chime ou Pack dans ce fichier ; le compilateur attend que le nom de classe et le nom de fichier concordent.
En dehors de main, toujours à l'intérieur des accolades de la classe, écrivez :
static void greet(String name) {
System.out.println("hi " + name);
}
L'en-tête commence encore par static void sur cette forme débutante. Entre les parenthèses se placent String puis name — le type d'abord, ensuite le nom du paramètre. Le corps utilise name sans guillemets autour, joint au texte fixe "hi " avec un plus. Les guillemets autour de "hi " marquent les lettres fixes. Le name nu marque la valeur arrivée de l'appel. Enregistrez le fichier avant de compiler.
Tip.java avec greet
Voici la version que vous compilez en premier. main tient l'appel avec une valeur entre les parenthèses. greet tient l'affichage qui utilise cette valeur.
public class Tip {
public static void main(String[] args) {
greet("lena");
}
static void greet(String name) {
System.out.println("hi " + name);
}
}
Depuis le dossier qui contient Tip.java, lancez javac Tip.java. Quand parenthèses, accolades et points-virgules concordent, javac n'écrit aucune ligne de son côté. Puis lancez java Tip — pas java Tip.java. Laissez le .java hors de la seconde commande. Les deux mêmes commandes fonctionnent sur Windows et sur macOS ; cette page n'a pas besoin d'une orthographe de shell différente pour l'un ou l'autre système. Le programme doit afficher une ligne et s'arrêter : hi lena. Il ne doit pas attendre que vous tapiez. Si le terminal attend une saisie clavier, un appel nextLine d'un ancien exercice est encore dans le fichier. Supprimez cet appel et gardez greet("lena"); plus la méthode greet ci-dessus. Une mauvaise ligne à l'écran ne signifie pas qu'il faille réinstaller le JDK.
Parcourez une exécution complète dans l'ordre. Java démarre à main. L'appel greet("lena"); envoie le texte lena dans le paramètre name. À l'intérieur de greet, println construit hi, un espace, puis cette valeur, donc l'écran montre hi lena. Puis greet se termine et main se termine. Vous n'avez pas écrit System.out.println("hi lena"); dans main. Vous avez écrit la partie fixe une seule fois sous greet et passé lena depuis l'appel.
La même méthode, des mots différents
Changez seulement main pour qu'il appelle greet deux fois avec deux arguments différents :
public static void main(String[] args) {
greet("lena");
greet("sam");
}
Laissez la méthode greet elle-même telle quelle. Compilez et lancez à nouveau : javac Tip.java, puis java Tip. L'écran doit montrer deux lignes : hi lena, puis hi sam. Le premier appel remplit name avec lena. Le second appel remplit name avec sam. Vous n'avez pas copié le println sous greet. Vous avez changé seulement les valeurs dans les appels.
Si vous appelez greet() avec des parenthèses vides alors que l'en-tête dit encore String name, javac écrit une erreur — l'appel doit fournir un String. Si vous laissez un ancien ring(); avec des parenthèses vides de la page Chime dans le même main, cet appel ne correspond pas à greet, et une méthode ring restante peut encore afficher ding à côté de vos lignes hi. Videz main jusqu'aux appels greet dont cette leçon a besoin.
Un nombre entier comme valeur
Les paramètres ne servent pas seulement au texte. Écrivez une seconde méthode qui prend un int :
static void show(int n) {
System.out.println(n);
}
Appelez-la depuis main avec des nombres entiers :
show(9);
show(4);
public class Tip {
public static void main(String[] args) {
show(9);
show(4);
}
static void show(int n) {
System.out.println(n);
}
}
Compilez et lancez : javac Tip.java, puis java Tip. L'écran doit montrer deux lignes : 9, puis 4. Aucun guillemet n'entoure 9 ou 4 dans l'appel — ce sont des valeurs int, pas du texte. À l'intérieur de show, println(n) écrit le nombre arrivé. Après avoir vu ces deux lignes, vous pouvez remettre la démo greet. Les deux versions sont du Java valide. Elles enseignent la même idée : l'appel envoie une valeur, le paramètre la tient pour le corps.
Relisez une fois l'exécution int. Le premier appel met n à 9 et affiche 9. Le second appel met n à 4 et affiche 4. Le nom n est déclaré une seule fois dans l'en-tête comme int n. Chaque appel lui donne une nouvelle valeur pour ce passage. Passer un mot entre guillemets dans show, comme show("nine");, ne correspond pas à int sur cette forme — javac écrit une erreur. Passer un nombre nu dans greet, comme greet(3);, ne correspond pas à String — javac écrit encore une erreur. Faites correspondre le type de l'argument au type du paramètre.
Une confusion courante est d'afficher le nom du paramètre comme texte : System.out.println("name");. Cela écrit les lettres n-a-m-e. Cela n'écrit pas lena. Gardez println("hi " + name) sans guillemets autour de name quand vous voulez les lettres de l'argument à l'écran. Une autre confusion est de déclarer le paramètre dans main au lieu de l'en-tête de la méthode. Le nom typé appartient à l'intérieur de greet(...) ou show(...), pas dans les parenthèses de main sur cette page. Le String[] args de main est un autre sujet pour une session plus tard ; ne renommez pas args en name en espérant que greet le voie.
Où cela vous laisse
Vous pouvez placer String name ou int n entre les parenthèses d'une méthode, passer une valeur concordante dans l'appel, et afficher cette valeur depuis le corps. Deux appels avec deux arguments affichent deux lignes différentes sans copier la méthode. void signifie encore que rien ne revient par l'appel. La page suivante est return, où une méthode renvoie une valeur à main au lieu de seulement afficher dans le corps.
🧠 Testez Vos Connaissances
Testez Vos Connaissances
Mettez-vous au défi avec ce quiz interactif et voyez à quel point vous comprenez le sujet
📝 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