1. Syntaxe de déclaration d’une méthode
La déclaration d’une méthode en Java ressemble à une recette dans un livre de cuisine : vous indiquez ce que la méthode renvoie (type), comment elle s’appelle, quels ingrédients (paramètres) sont nécessaires, et vous écrivez la recette elle-même (corps de la méthode).
Forme générale :
returnType methodName(parameters)
{
// ici, on écrit des instructions
}
- type de valeur renvoyée — ce que la méthode renvoie (par exemple, int, void — si elle ne renvoie rien, String, etc.).
- methodName — un nom que vous inventez (selon les règles Java).
- paramètres — la liste des variables que la méthode va utiliser (peut être vide).
- corps de la méthode — vos instructions entre accolades { }.
Exemples de méthodes sans paramètres
void printHello()
{
System.out.println("Bonjour, le monde !");
}
Explication : void — la méthode ne renvoie rien ; printHello — le nom ; () — pas de paramètres.
Exemple de méthode avec paramètres
void printName(String name)
{
System.out.println("Bonjour, " + name + " !");
}
Explication : void — ne renvoie pas de valeur ; printName — le nom de la méthode ; String name — un paramètre de type String.
Exemple de méthode avec plusieurs paramètres
void printSum(int a, int b)
{
System.out.println("Somme : " + (a + b));
}
Explication : les paramètres sont indiqués séparés par des virgules. À l’intérieur de la méthode, on les utilise comme des variables ordinaires, l’opérateur + effectue l’addition.
Important !
- Les méthodes sont déclarées à l’intérieur d’une classe, mais PAS dans d’autres méthodes.
- En Java, on ne peut pas déclarer des méthodes à l’intérieur d’autres méthodes — pas de « poupées russes ».
2. Appel d’une méthode
Déclarer une méthode, c’est comme accrocher une pancarte « Je ferai du café ». Mais pour que le café apparaisse réellement, il faut appeler la méthode — écrire son nom et passer les valeurs des paramètres.
Comment appeler une méthode
Si la méthode se trouve dans la même classe et est déclarée static (comme main), on peut simplement l’appeler par son nom :
printHello();
printName("Alisa");
printSum(3, 5);
Si la méthode n’est pas static, il faut l’appeler via un objet (nous y reviendrons plus tard, quand nous étudierons les classes et les objets).
Exemple : appel de méthode depuis main
public class MethodsDemo
{
public static void main(String[] args)
{
printHello();
printName("Bob");
printSum(10, 20);
}
static void printHello()
{
System.out.println("Bonjour, le monde !");
}
static void printName(String name)
{
System.out.println("Bonjour, " + name + " !");
}
static void printSum(int a, int b)
{
System.out.println("Somme : " + (a + b));
}
}
Notez bien : les méthodes sont déclarées avec le modificateur static afin qu’elles puissent être appelées depuis main (qui est également static).
3. Paramètres et arguments : qu’est-ce que c’est ?
Paramètres — ce sont les variables déclarées entre parenthèses lors de la déclaration de la méthode.
Arguments — ce sont les valeurs réelles que vous passez lors de l’appel de la méthode.
Analogie : les paramètres — comme une liste de courses ; les arguments — ce que vous mettez réellement dans le panier.
Exemple
static void greet(String name) // name — paramètre
{
System.out.println("Bonjour, " + name + " !");
}
public static void main(String[] args)
{
greet("Katya"); // "Katya" — argument
greet("Vasya"); // "Vasya" — argument
}
Quand vous appelez greet("Katya"), à l’intérieur de la méthode la variable name vaudra "Katya".
Plusieurs paramètres
static void printInfo(String name, int age)
{
System.out.println("Nom : " + name + ", âge : " + age);
}
public static void main(String[] args)
{
printInfo("Masha", 25);
printInfo("Petya", 31);
}
Attention ! Les types et l’ordre des paramètres doivent correspondre à ceux déclarés dans la méthode.
4. Pratique : écrire ses propres méthodes
Méthode qui affiche une salutation avec le nom de l’utilisateur
static void sayHelloTo(String name)
{
System.out.println("Bonjour, " + name + " !");
}
public static void main(String[] args)
{
sayHelloTo("Andrey");
sayHelloTo("Elvira");
}
Méthode qui calcule la somme de deux nombres
static void printSum(int a, int b)
{
int sum = a + b;
System.out.println("Somme : " + sum);
}
public static void main(String[] args)
{
printSum(7, 8);
printSum(15, -5);
}
Méthode qui affiche les éléments d’un tableau
static void printArray(int[] array)
{
System.out.print("Tableau : ");
for (int i = 0; i < array.length; i++)
{
System.out.print(array[i] + " ");
}
System.out.println();
}
public static void main(String[] args)
{
int[] nums = {1, 2, 3, 4, 5};
printArray(nums);
}
Méthode qui affiche n fois la même chaîne
static void repeatPrint(String text, int n)
{
for (int i = 0; i < n; i++)
{
System.out.println(text);
}
}
public static void main(String[] args)
{
repeatPrint("Java — c'est génial !", 3);
}
5. Comment les méthodes aident à structurer une application
Si vous décidez d’écrire un simple jeu console ou une calculatrice, le code sera plus clair si chaque tâche est organisée en méthode.
Exemple : mini-calculatrice
public class Calculator
{
public static void main(String[] args)
{
printGreeting();
printSum(3, 7);
printDifference(10, 4);
}
static void printGreeting()
{
System.out.println("Bienvenue dans la calculatrice !");
}
static void printSum(int a, int b)
{
System.out.println("Somme : " + (a + b));
}
static void printDifference(int a, int b)
{
System.out.println("Différence : " + (a - b));
}
}
À l’avenir, vous pourrez ajouter de nouvelles méthodes (multiplication, division, travail avec des tableaux de nombres, etc.), et l’application grandira sans se transformer en un long « pavé » de code.
6. Nuances utiles
Noms de méthodes
- Le nom d’une méthode commence généralement par une minuscule et s’écrit en camelCase : printSum, sayHelloTo, calculateArea.
- Le nom doit refléter l’action. Évitez doStuff et method1.
Ordre des paramètres
- Respectez l’ordre et les types des paramètres à l’appel.
- Si la méthode attend printInfo(String name, int age), on ne peut pas appeler printInfo(25, "Masha").
Peut-on déclarer deux méthodes portant le même nom ?
Oui, si leur liste de paramètres diffère (types ou quantité). C’est la surcharge de méthodes :
static void printSum(int a, int b) { /* ... */ }
static void printSum(int a, int b, int c) { /* ... */ }
Un cours séparé sera consacré à ce sujet — pour l’instant, il suffit de savoir que Java n’impose pas une seule méthode par nom.
7. Erreurs typiques lors du travail avec les méthodes et les paramètres
Erreur n° 1 : non-correspondance du nombre ou des types de paramètres à l’appel.
Si la méthode est déclarée comme printSum(int a, int b) et que vous l’appelez comme printSum(5), le compilateur indiquera qu’une telle méthode n’existe pas. De même, printSum("cinq", 7) — erreur de types.
Erreur n° 2 : confusion entre paramètres et arguments.
Dans la déclaration de la méthode, on écrit les paramètres (par exemple, int a, int b), et à l’appel — les arguments (printSum(5, 7)). Inutile de créer dans main des variables portant les mêmes noms — l’important est la correspondance des types et de l’ordre.
Erreur n° 3 : tentative de déclarer une méthode à l’intérieur d’une autre.
En Java, les méthodes se déclarent uniquement au niveau de la classe. À l’intérieur d’une autre méthode, c’est interdit.
Erreur n° 4 : oublier static lors d’un appel depuis main.
Si vous appelez une méthode depuis main, ajoutez static à sa déclaration ou créez un objet et appelez la méthode sur celui-ci. Les détails — plus tard, lors de l’étude de la POO.
GO TO FULL VERSION