1. Fonctions/méthodes en Java

Vous avez déjà appris de nombreuses commandes Java, ce qui signifie que vous pouvez écrire des programmes assez complexes. 10, 20, 30 lignes de code dans un programme n'est pas un très gros programme, n'est-ce pas ?

Mais un programme de plus de 100, maintenant c'est gros, et il peut être assez difficile de comprendre le code. Y a-t-il quelque chose que vous puissiez faire pour simplifier d'une manière ou d'une autre l'écriture et la lecture de programmes contenant beaucoup de code ?

Oui, et les méthodes (ou fonctions) nous y aideront.

Qu'est-ce qu'une méthode ? En termes simples, une méthode est un groupe de commandes qui porte un nom unique . En d'autres termes, nous mettons simplement plusieurs commandes dans un groupe et lui donnons un nom unique. Et voilà, la méthode est prête.

Exemple:

Sans méthode Avec une méthode
class Solution
{
   public static void main(String[] args)
   {
     System.out.print("Wi-");
     System.out.println("Fi");
     System.out.print("Wi-");
     System.out.println("Fi");

     System.out.print("Wi-");
     System.out.println("Fi");
   }
}
class Solution
{
   public static void main(String[] args)
   {
     printWiFi();
     printWiFi();
     printWiFi();
   }
   public static void printWiFi()
   {
     System.out.print("Wi-");
     System.out.println("Fi");
   }
}

Dans le programme de la colonne de gauche, nous répétons le même code trois fois - nous l'avons fait intentionnellement pour illustrer un point. Mais dans le programme de droite, nous avons déplacé le code répété dans une méthode distincte et lui avons donné un nom unique — printWiFi.

Et au lieu du code déplacé, nous appelons la printWiFi()méthode 3 fois.

Lorsque le programme dans la colonne de droite est exécuté, chaque fois que la printWiFi()méthode est exécutée, toutes les commandes à l'intérieur de la printWiFi()méthode sont exécutées. Nous venons de créer une nouvelle commande (méthode), combinant plusieurs commandes en un seul groupe.

Tout code peut être divisé en méthodes distinctes. Ceci est fait pour simplifier les choses : l'idée est qu'il vaut mieux avoir plusieurs petites méthodes qu'une grande. Vous serez bientôt surpris qu'il y ait eu un moment où vous avez écrit vos propres programmes sans écrire vos propres méthodes.


2. Déclarer une méthode en Java

Alors, comment écrivez-vous correctement votre méthode?

public static void name()
{
  method body
}

Il y a beaucoup de nuances à prendre en compte lors de la déclaration (création) d'une méthode, mais nous allons commencer par les bases. Comment déclarer la méthode la plus simple ? Une simple déclaration de méthode ressemble à ceci :

name est le nom unique de la méthode et method bodyreprésente les commandes qui composent la méthode. La signification des mots public, static, et voidsera discutée plus tard.

Après avoir créé une méthode, nous pouvons l'appeler dans nos autres méthodes. Un appel de méthode ressemble à ceci :

name();

nameest le nom unique de la méthode que nous voulons appeler, c'est-à-dire la méthode dont nous voulons exécuter les commandes lorsque nous arrivons à l'appel de méthode.

Lorsque le programme atteint l'appel de méthode, il entre simplement dans la méthode, exécute toutes ses commandes, retourne à la méthode d'origine et continue l'exécution.

Comme vous l'avez probablement déjà deviné, la plupart des commandes que nous avons apprises jusqu'à présent ne sont que des méthodes écrites par d'autres programmeurs pour nous faciliter la vie : , , etc.System.out.println()Thread.sleep()

Une méthode peut contenir des appels à d'autres méthodes :

Code Note
class Solution
{
   public static void main(String[] args)
   {
     printWiFi10Times();
   }

   public static void printWiFi10Times()
   {
     for (int i = 0; i < 10; i++)
       printWiFi();
   }

   public static void printWiFi()
   {
     System.out.print("Wi-");
     System.out.println("Fi");
   }
}




Appelez la printWiFi10Times()méthode


Déclarez la printWiFi10Timesméthode


Appelez la printWiFi() méthode 10 fois dans une boucle


Déclarez la printWiFiméthode

Affichez le texte à l'écran :
Wi-Fi

3. Faits sur les méthodes

Voici quelques faits supplémentaires sur les méthodes :

Fait 1. Une méthode fait toujours partie d'une classe.

Une méthode ne peut être déclarée que dans une classe. Une méthode ne peut pas être déclarée à l'intérieur d'une autre méthode. Une méthode ne peut pas être déclarée en dehors d'une classe.

Fait 2. Le nom d'une méthode n'a aucune signification sacrée.

Peu importe le nom des méthodes, cela n'affecte rien. La méthode principale est une méthode comme toutes les autres. C'est juste que ce nom a été choisi pour la méthode à partir de laquelle la machine Java lancera l'exécution du programme. Il n'y a rien de magique là-dedans.

Fait 3. L'ordre des méthodes dans une classe n'a pas d'importance.

Vous pouvez écrire vos méthodes dans une classe dans n'importe quel ordre — cela n'affectera en rien l'exécution du programme. Exemple:

Code
class Solution
{
   public static void printWiFi10Times()
   {
     for (int i = 0; i < 10; i++)
       printWiFi();
   }
   
   public static void main(String[] args)
   {
     printWiFi10Times();
   }

   public static void printWiFi()
   {
     System.out.print("Wi-");
     System.out.println("Fi");
   }
}
class Solution
{
   public static void printWiFi()
   {
     System.out.print("Wi-");
     System.out.println("Fi");
   }

   public static void printWiFi10Times()
   {
     for (int i = 0; i < 10; i++)
       printWiFi();
   }
   public static void main(String[] args)
   {
     printWiFi10Times();
   }
}

Fait 4. Les variables à l'intérieur d'une méthode ne sont en aucune façon liées aux variables des autres méthodes.

Ce qui se passe à Vegas reste à Vegas. Et les variables déclarées à l'intérieur d'une méthode restent à l'intérieur de la méthode.

Des variables portant le même nom peuvent être déclarées dans deux méthodes adjacentes, et ces variables ne sont en aucun cas liées les unes aux autres.


4. Noms de méthode

On sait depuis longtemps que les deux problèmes les plus difficiles en programmation sont le choix des bons noms pour les méthodes et le choix des bons noms pour les variables.

En fait, presque toute une science a émergé sur la manière de nommer correctement les méthodes. Et chaque langage de programmation a ses propres normes. En Java, il est d'usage de suivre ces principes :

Principe 1. Un nom de méthode doit décrire brièvement ce que fait la méthode.

Ensuite, un autre programmeur lisant votre code peut se fier au nom de la méthode pour deviner ce que fait le code. Il ou elle n'aura pas besoin de regarder le code des méthodes appelées à chaque fois. Et le but des méthodes est plus facile à retenir.

Rappelez-vous qui est utilisé pour 'mettre le programme en veille' et est utilisé pour 'lire l'entier suivant'. Pratique, non ?Thread.sleep()Scanner.nextInt()

Principe 2. Un nom de méthode peut être composé de plusieurs mots.

Cependant, il existe plusieurs limitations lors de cette opération :

  • Vous ne pouvez pas avoir d'espaces dans un nom de méthode : tous les mots sont écrits ensemble.
  • Chaque mot est en majuscule, sauf le premier.
  • Un nom de méthode commence toujours par une lettre minuscule

Rappel de la printWiFi10Timesméthode. Que signifie ce nom ? "Afficher le mot 'WiFi' 10 fois". Vous ne devez pas inclure beaucoup de mots dans le nom d'une méthode : le nom doit refléter son essence même.

Cette norme pour nommer les méthodes s'appelle CamelCase (les lettres majuscules sont comme les bosses d'un chameau).

Principe 3. Un nom de méthode commence par un verbe.

Une méthode fait toujours quelque chose, donc le premier mot d'un nom de méthode est toujours une action.

Voici quelques mauvais noms pour les méthodes : home, cat, car, train, ...;

Quelques bons noms sont : run, execute, print, read, write, ...

Principe 4. N'utilisez que des lettres et des chiffres latins.

Java a un excellent support pour différentes langues. Vous pouvez écrire les noms des variables, des méthodes et des classes aussi bien en russe qu'en chinois — tout fonctionnera !

Mais! Combien de temps faudrait-il pour étudier Java si la System.out.println()méthode était écrite en chinois ? Bien plus longtemps que maintenant, non ? C'est le premier point.

Deuxièmement, de nombreuses équipes de développement de logiciels sont internationales. Un très grand nombre de bibliothèques Java sont utilisées par les programmeurs du monde entier.

Par conséquent, il est recommandé d'utiliser uniquement des lettres et des chiffres latins dans les noms de méthode.

Important:
Le nom d'une méthode doit commencer par une lettre (il ne peut pas commencer par un chiffre).