Utilisateur:Fasten/Java tutorial/Méthodes

Une page de Wikiversité, la communauté pédagogique libre.
Début de la boite de navigation du chapitre
Méthodes
Icône de la faculté
Chapitre no 4
Leçon : Java tutorial
Chap. préc. :Opérations
Chap. suiv. :Boucles et structures conditionnelles
fin de la boite de navigation du chapitre
En raison de limitations techniques, la typographie souhaitable du titre, « Java tutorial : Méthodes
Fasten/Java tutorial/Méthodes
 », n'a pu être restituée correctement ci-dessus.

Les méthodes sont les algorithmes codés. Il y a plusieurs mots clés à connaître pour la déclaration des méthodes et ce que nous allons voir.

Première méthode[modifier | modifier le wikicode]

Pour qu'un programme en Java puisse être exécuté, une méthode est absolument indispensable, c’est la méthode main. Elle se déclare toujours de la manière suivante :

public static void main(String[] args){
   //Ici se trouve le code a exécuter, par exemple :
   System.out.println("Coucou !");
}

Cette petite méthode, une fois exécutée, affichera ici un superbe Coucou ! dans la console. En effet, la méthode System.out.println() permet d'afficher du texte dans la console puis de passer à la ligne. Si vous ne voulez pas aller à la ligne, il faut utiliser la méthode System.out.print().

Il est possible de faire appel à d'autres méthodes dans celle-ci, il n'est donc pas nécessaire de faire tout le programme dans cette méthode, et ce n'est d'ailleurs pas conseillé.

lancer avec des paramètres[modifier | modifier le wikicode]

Le tableau de chaines de caractères args peut stocker un certain nombre de paramètres lors du lancement. La classe ci-dessous les affiche simplement :

public class Exemple1 {
  public static void main(String[] args) {
    for (int i = 0; i < args.length; i++) {
      System.out.println(args[i]);
    }
  }
}

La lancer ainsi :

 java Exemple1 texte1 texte2 ...

Déclaration d'une méthode[modifier | modifier le wikicode]

Maintenant que nous avons vu la méthode indispensable à tout programme, nous allons voir plus en détail à quoi correspondent tous ces mots clés. Pour cela déclarons une nouvelle méthode :

public static int somme(int nombre1, int nombre2){
   return (nombre1 + nombre2) ;
}

Prenons les mots dans leur ordre d'apparition.

  • public : désigne l'accessibilité, ce terme sera vu plus en détail dans le chapitre consacré aux objets, on se contentera donc pour le moment de le mettre dans la déclaration de toute méthode.
  • static : désigne son statut, ce terme sera vu aussi dans le chapitre consacré aux objets et donc on le fera aussi apparaître à chaque déclaration de méthode pour le moment.
  • int : on reconnaît ici un type de donnée, c’est le type de donnée que la méthode va retourner. Ici, la méthode retournera un entier. Une méthode ne peut retourner qu'une seule chose, et il ne sera d'ailleurs pas accepté par le compilateur de trouver plusieurs fois le mot return dans une méthode !
  • somme : correspond au nom de ma méthode. Par convention, les noms de méthode commence par une minuscule et prennent une majuscule à chaque nouveau mot. Ainsi, si l’on avait appelé notre méthode sommeDeDeuxEntiers, il aurait fallu l'écrire ainsi et non pas SommeDeDeuxEntiers et encore moins Sommededeuxentiers.
  • Dans la parenthèse : ce sont les arguments en entrée de la méthode, on a donc besoin ici de deux entiers pour utiliser cette méthode.
  • return : permet de retourner quelque chose, le résultat retourné doit correspondre à ce qui est déclaré en même temps que la méthode.

Utiliser des méthodes[modifier | modifier le wikicode]

Maintenant que l’on a vu comment déclarer une méthode ainsi que la méthode nécessaire à l'exécution de notre programme, on va voir comment utiliser notre méthode somme.

public class Exemple2 {
   public static void main(String[] args){
      public static int unEntier ;
      //Je déclare une variable.
      unEntier = somme(4, 5);
      //Je donne une valeur à unEntier en utilisant la méthode somme(int,int)
      //qui retourne un entier.
      System.out.println("unEntier vaut donc : " + unEntier) ;
      //J'affiche dans la console la valeur de unEntier.
   }
}

Si l’on souhaite exécuter ce programme simple, il faut copier ceci dans un éditeur de texte et sauvegarder le fichier sous le nom Exemple.java (la majuscule est nécessaire car le compilateur ne reconnaît que les noms de fichiers commençant par une majuscule). Dans la console, il faut se situer dans le répertoire où est sauvegardé le fichier et le compiler grâce à la commande javac Exemple.java, une fois compilé, il faut taper Java Exemple et le programme se lance.

À propos des classes[modifier | modifier le wikicode]

Pour faire un programme, il est nécessaire de créer une classe comme dans l'exemple ci-dessus. Pour cela, il suffit de remplacer le nom Exemple par celui que l’on désire, et de bien le faire commencer par une majuscule, et de sauvegarder le fichier sous le nom de la classe. La vraie utilité des classes sera vue plus en détail dans le chapitre sur les objets.

Arrondir les nombres[modifier | modifier le wikicode]

Par convention on affiche généralement les nombres avec deux chiffres après la virgule, la méthode Math.round permet cela[1] :

import java.math.BigDecimal;
public class Arrondi {
  public static void main(String[] args) {
    BigDecimal nombre1 = null;
    for (int i = 0; i < args.length; i++) {
      nombre1 = new BigDecimal(Float.valueOf(args[i])).setScale(2, BigDecimal.ROUND_DOWN);
      System.out.println(nombre1);
    }
  }
}

Elle se lance avec un nombre indéfini de paramètre, par exemple :

java Arrondi 1 3.14159

donne :

1.00
3.14

Références[modifier | modifier le wikicode]


The methods are the algorithms coded. There are several key words to know for reporting of methods and what we will see.

First method[modifier | modifier le wikicode]

For a program in Java can be executed, a method is absolutely essential is themainmethod. She always declares as follows:

public static void main (String [] args) {
   / / Here is the code to execute, for example:
   System.out.println ("Hello");
}

This little method, when performed by a superb displayHey!In the console. Indeed,the method System.out.println ()is used to display text in the console and then switch to the line. If you do not want to go to the line, use the method System.out.print ().

It is possible to use other methods in it, so it is not necessary to make the whole program in this method, and it is also not recommended.

Declaration of a method[modifier | modifier le wikicode]

Now that we have seen the method essential to any program, we will see in detail what all those keywords. To declare that a new method:

public static int sum (int number1, int number2) {
   return (number1 + number2);
}

Consider the words in the order they appear.

  • Public refers to accessibility, this term will be seen in more detail in the chapter on objects, so it suffices for now to put in the declaration of any method.
  • Static refers to their status, they shall be also seen in the chapter devoted to the objects and therefore it will also appear on each method statement currently.
  • Int: it is recognized by a data type is the type of data that the method will return. Here, the method returns an integer. A method can return only one thing, and it will also not accepted by the compiler to find many times the wordreturnin a way!
  • Amount is the name of my method. By convention, method names begin with lowercase letters are capitalized and each new word. Thus, if we had called our method sommeDeDeuxEntiers,would have to write it well and not SommeDeDeuxEntiers'let alone'Sommededeuxentiers.
  • In the parenthesis: it is the input arguments of the method, we therefore need two integers to use this method.
  • Return: to return something, the result returned should match what is reported together with the method.

Use methods[modifier | modifier le wikicode]

Now that we have seen how to declare a method and the method required to complete our program, we will see how to use our methodshort.

public class Example {
   
   public static void main (String [] args) {
      public static int anInteger;
      / / I declare a variable.
      anInteger = sum (4.5);
      / / I give a value to anInteger by using the sum (int, int)
      / / Which returns an integer.
      System.out.println ("anInteger is therefore:" + anInteger);
      / / I display in the console the value of anInteger.
   }
}

If you want to run this program, ridiculous, of course, but that is a simple example, copy this into a text editor and save the file as Exemple.java'(the uppercase is necessary because the compiler recognizes only the file names with capital letters). In the console must be in the directory where you saved the file and compile it with the commandjavacExemple.java, once compiled, you must typeandExample Java program starts .

About the classes[modifier | modifier le wikicode]

To make a program, it is necessary to create a class as in the example above. To do this, simply replace the nameExampleby one we want, and do well to start with a capital letter, and save the file under the name of the class. The real usefulness of classes will be seen in more detail in the chapter on the objects.

class Calcul                                   // la classe "Calcul"
{                                              // parenthèse ouvrant pour la classe
     int variableGlobale = 20;                 // Déclaration d'une variable globale

     public static void main (String [] args)  // la méthode "main"
     {                                         // parenthèse ouvrant pour la méthode
         autreMéthode (variableGlobale);       // instruction: la appel de méthode "autreMéthode"
     }                                         // parenthèse fermante correspondante pour la méthode

     public static int autreMéthode (int paramètre) // la méthode "autreMéthode"
     {                                         // parenthèse ouvrant pour la méthode
         int variableLocale;                   // Déclaration d'une variable locale

         variableLocale = paramètre / 2;       // instruction de travail
         return variableLocale;                // instruction de travail
     }                                         // parenthèse fermante correspondante pour la méthode
}                                              // parenthèse fermante correspondante pour la classe

Exercices:

  • Définissez une méthode pour le calcul de l'équation "f(x) = ax3 + bx2 + cx + d" s'il vous plaît.
  • Définissez une méthode pour imprimer le résultat.
  • Qu'est-ce que c’est la différence entre la déclaration d'une variable globale et une variable locale?
  • Faites la méthode "autreMéthode" plus courte.