1. java-hell.de
  2. Thèmes
  3. Méthodes
Thème 6 sur 11

Apprendre les méthodes en Java – Exercices en ligne

Les méthodes sont des briques réutilisables. Tu écris tes propres méthodes, tu leur passes des paramètres et tu renvoies des résultats avec return. Enfin un code bien rangé.

Les exercices

Ce que tu vas apprendre dans ce thème

  1. Ta première méthode
  2. Méthode avec un paramètre
  3. Return
  4. Deux paramètres
Exercice 1 sur 4

Ta première méthode

Une méthode est un bloc de code réutilisable qui porte un nom.

static void bonjour() {
    IO.println("Bonjour !");
}

void signifie : la méthode ne renvoie rien, elle fait juste quelque chose.

La méthode saluer est déjà définie. Appelle-la dans main.

Code de départ
void saluer() {
    IO.println("Bienvenue !");
}

void main() {
    // Appelle saluer()
}
Contexte
La pile d'appels

Quand une méthode est appelée, la JVM empile un nouveau cadre de pile (stack frame) sur la pile d'appels (call stack). Il contient les paramètres, les variables locales et l'adresse de retour.

Quand la méthode se termine, le cadre est retiré et l'exécution revient en arrière. Trop d'appels imbriqués (par ex. une récursion sans fin) → StackOverflowError.

Exercice 2 sur 4

Méthode avec un paramètre

Les méthodes peuvent recevoir des valeurs d'entrée (des paramètres) :

static void direBonjour(String nom) {
    IO.println("Bonjour " + nom);
}

La méthode afficherDouble reçoit un nombre et affiche le double de sa valeur. Ajoute la seule ligne qui manque.

Code de départ
void afficherDouble(int nombre) {
    // Affiche nombre * 2
}

void main() {
    afficherDouble(5);
    afficherDouble(12);
}
Contexte
Passage par valeur

Java passe toujours les paramètres par valeur — la méthode reçoit une copie de la valeur. Si tu modifies le paramètre dans la méthode, la variable d'origine ne change pas.

Avec les objets, c'est la référence qui est copiée — tu peux donc modifier l'objet lui-même, mais pas la référence. Ça piège les débutants en permanence.

Exercice 3 sur 4

Return

Au lieu de simplement afficher quelque chose, une méthode peut renvoyer une valeur :

static int foisDeux(int x) {
    return x * 2;
}

À la place de void, tu écris maintenant le type de retour (int), et return renvoie la valeur.

Ajoute la ligne return pour que carre renvoie le carré du nombre.

Code de départ
int carre(int n) {
    // Renvoie n * n
    return 0;
}

void main() {
    IO.println(carre(4));
    IO.println(carre(7));
}
Contexte
void vs. type de retour

void = "cette méthode ne renvoie rien". N'importe quel autre type (int, String, etc.) t'oblige à renvoyer une valeur avec return.

Le compilateur vérifie que chaque chemin possible se termine par un return. Si tu as un if sans else et que tu ne fais le return que dedans, Java râle — après tout, la condition pourrait être false.

Exercice 4 sur 4

Deux paramètres

Une méthode peut avoir plusieurs paramètres — séparés par des virgules :

static int additionner(int a, int b) {
    return a + b;
}

Corrige la ligne return : renvoie la plus grande des deux valeurs.

Astuce : tu peux écrire : if (a > b) return a; else return b;

Code de départ
int max(int a, int b) {
    // Renvoie la plus grande valeur
    return 0;
}

void main() {
    IO.println(max(3, 7));
    IO.println(max(10, 2));
}
Contexte
Surcharge de méthodes

En Java, tu peux avoir plusieurs méthodes avec le même nom, tant que leurs paramètres sont différents. C'est ce qu'on appelle la surcharge (overloading) :

int max(int a, int b) et double max(double a, double b) peuvent coexister. Java choisit automatiquement la bonne version selon les types que tu passes.

Assez lu. À toi de jouer.

Dans le tutoriel, tu écris le code toi-même, tu cliques sur Exécuter et tu vois tout de suite si ton programme marche. Sans JDK, sans IDE, sans prise de tête.

S'entraîner sur Méthodes dans le navigateur