Chargement...

Méthodes en Java

Écrivez une méthode nommée ring qui affiche un seul mot : ding. Placez ces lignes d’affichage sous static void ring() avec des parenthèses vides. À l’intérieur de main, écrivez seulement ring(); — le nom, puis des parenthèses vides, puis un point-virgule. Compilez et lancez. L’écran doit montrer une ligne : ding. main ne garde pas le println de ding. La méthode le garde. Cette séparation est ce que cette page enseigne.

Les lignes qui vivent sous ring

Jusqu’ici, la plupart de vos affichages se trouvaient directement dans main. Cela fonctionne encore. Une méthode donne à ces mêmes lignes un nom à elles. Vous écrivez les lignes une seule fois sous ce nom. Ensuite main les demande en écrivant le nom comme un appel.
Créez un petit fichier de programme nommé Chime.java. La public class de la première ligne doit correspondre au nom du fichier : public class Chime. Ne laissez pas un ancien nom de classe Pack ou Skip 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 ring() {
System.out.println("ding");
}
Le mot static reste sur cette forme débutante pour que main puisse appeler ring sans construire d’objet. Le mot void signifie que cette méthode ne renvoie aucune valeur à l’appelant — elle exécute seulement son corps. Le nom ring est l’étiquette que vous taperez dans main. Les parenthèses vides () signifient que la méthode de cette page ne prend aucune valeur en entrée. Les accolades tiennent le corps. System.out.println("ding"); écrit les quatre lettres d-i-n-g. Enregistrez le fichier avant de compiler.

Chime.java que vous compilez

Voici le petit programme complet de cette page. main ne tient que l’appel. ring tient l’affichage.

ring affiche ding

java
public class Chime {
    public static void main(String[] args) {
        ring();
    }

    static void ring() {
        System.out.println("ding");
    }
}

Depuis le dossier qui contient Chime.java, lancez javac Chime.java. Quand parenthèses, accolades et points-virgules concordent, javac n’écrit aucune ligne de son côté. Puis lancez java Chime — pas java Chime.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 : ding. 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 ring(); dans main plus la méthode ring ci-dessus. Une mauvaise ligne à l’écran ne signifie pas qu’il faille réinstaller le JDK.

Parcourez une exécution dans l’ordre. Java démarre à main. La seule instruction dans main est ring();. Cet appel saute dans la méthode ring. À l’intérieur de ring, println écrit ding. Puis ring se termine, et main n’a plus rien à faire, donc le programme s’arrête. Vous n’avez pas mis System.out.println("ding"); dans main sur cette page. Vous l’avez mis sous ring et l’avez demandé par son nom. Si l’écran montre ding, l’appel a atteint le corps. Si l’écran reste vide après une compilation propre, main n’a jamais appelé ring, ou main ne tient encore que des accolades vides sans appel à l’intérieur.

Appeler ring depuis main plus d’une fois

Changez seulement main pour qu’il appelle la même méthode deux fois :
public static void main(String[] args) {
ring();
ring();
}
Laissez la méthode ring elle-même intacte. Compilez et lancez à nouveau : javac Chime.java, puis java Chime. L’écran doit montrer deux lignes, chacune disant ding. Le premier appel exécute le corps une fois. Le second appel exécute le même corps encore une fois. Cette réutilisation est la raison de nommer les lignes. Vous n’avez pas copié le println une seconde fois sous ring. Vous avez écrit un second appel dans main.
Si vous retirez le second ring(); et ne laissez qu’un seul appel, l’écran revient à un seul ding. La définition de la méthode n’affiche rien toute seule. Seul un appel depuis main (ou depuis une autre méthode plus tard) exécute le corps. Un fichier qui définit ring mais ne l’appelle jamais depuis main peut compiler et pourtant montrer un écran vide quand vous lancez java Chime, parce que main n’a rien à faire.

Les pièces de l’en-tête d’une méthode

Sur cette page l’en-tête est static void ring(). Lisez-le de gauche à droite. static permet à main d’appeler la méthode sur cette forme débutante. void signifie qu’aucune valeur ne revient par l’appel. ring est le nom. () sont vides volontairement : cette session n’envoie ni mots ni nombres dans la méthode. La page suivante, parameters, place des noms à l’intérieur de ces parenthèses. La page d’après, return, change void quand vous avez besoin d’une valeur en retour. Gardez les deux pour plus tard. Aujourd’hui les () vides et void suffisent.

📊 Pièce d’en-tête sur cette page

Pièce Sur cette page
static main peut appeler ring sans objet
void ring ne renvoie pas de valeur
ring le nom que vous tapez dans l’appel
() aucune valeur n’entre sur cette page
{ ... } le corps qui affiche ding

L’appel dans main doit correspondre exactement au nom : ring(); avec un r minuscule, des parenthèses vides et un point-virgule. Écrire Ring(); avec un R majuscule est un nom différent pour Java. Écrire ring sans () n’est pas un appel sur cette forme. Écrire System.out.println("ring"); affiche les quatre lettres du mot ring ; cela n’exécute pas le corps de la méthode. Gardez l’appel ring(); quand vous voulez ding à l’écran.

Un reste fréquent est une ancienne démo Pack for-each encore assise dans main à côté du nouvel appel. Alors l’écran peut montrer 2, 4 et 6, ou red et blue, au lieu de ding — ou les deux sortes de lignes mélangées. Videz main jusqu’aux appels ring(); dont cette leçon a besoin. Une autre confusion est de placer la méthode à l’intérieur des accolades de main. Les méthodes de cette page se placent dans la classe, à côté de main, pas imbriquées dans main. javac ne traitera pas une méthode enterrée dans main comme le ring que vous appelez. Fermez les accolades de ring avant la fin de main, et fermez celles de main avant la fin de la classe, pour que chaque bloc ne possède que ses propres lignes.

Prêt pour les pages suivantes

Vous pouvez écrire static void ring(), placer des lignes println dans ses accolades, et appeler ring() depuis main pour que l’écran montre ding. Appeler deux fois affiche ding deux fois sans copier le corps. Les parenthèses vides et void restent sur cette page volontairement. parameters placera des valeurs à l’intérieur des parenthèses. return permettra à une méthode de renvoyer un nombre ou un texte à main. Ce sont les deux pages qui suivent celle-ci.

🧠 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

❓
7
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