Les paramètres sont des données que le programme appelant communique à la méthode, et qui permettent de moduler son action.
On déclare dans la parenthèse le type des paramètres et le nom par lequel ils seront désignés dans le corps de la méthode.
class MethodeAvecParametre{ static void traceLigne(int longueur){ for (int i=0;i<longueur;i=i+1){ System.out.print("_"); } System.out.println(); } public static void main(String[] args){ traceLigne(25); System.out.println("Bonjour"); traceLigne(15); } }Dans cet exemple, la méthode prend un paramètre entier, qui correspondra à la longueur de la ligne (nombre de caractères utilisés pour écrire une ligne). Dans le corps de la méthode, ce paramètre est utilisé comme valeur finale dans une boucle qui écrit le caractère '_' un nombre de fois égal à la valeur du paramètre "longueur", sans aller à la ligne.
Une méthode peut prendre plusieurs paramètres, dont les déclarations doivent être séparées par des virgules.
Exemple :
class MethodeAvec2Parametres{ static void traceLigne(int longueur,char signe){ for (int i=0;i<longueur;i=i+1){ System.out.print(signe); } System.out.println(); } public static void main(String[] args){ traceLigne(25,'*'); System.out.println("Bonjour"); traceLigne(15,'@'); } }Dans cet exemple le caractère qui servira à tracer la ligne est le caractère précisé comme paramètre (de type char) de la méthode (au lieu de "_"). Comme précédemment la longueur de la ligne est aussi passée en paramètre.
Il est possible de faire coexister différentes versions d'une même méthode, prenant des ensembles de paramètres différents, dans une même classe :
class MethodePolymorphe{ static void traceLigne() { for (int i=0;i<10;i=i+1){ System.out.print("_"); } System.out.println(); } static void traceLigne(int longueur){ for (int i=0;i<longueur;i=i+1){ System.out.print("_"); } System.out.println(); } static void traceLigne(int longueur,char signe){ for (int i=0;i<longueur;i=i+1){ System.out.print(signe); } System.out.println(); } public static void main(String[] args){ traceLigne(); // pas de paramètres: c'est la version sans paramètres qui est exécutée traceLigne(15); // un paramètre entier: c'est la version avec paramètre entier qui est exécutée traceLigne(25,'~'); // un paramètre entier et un paramètre char: c'est la version correspondante qui est exécutée } }