1. La return
déclaration
Vous pensez avoir déjà tout appris sur les méthodes Java ? Quoi que vous pensiez savoir, vous n'en connaissez toujours pas la moitié.
Commençons par quelque chose de simple. Par exemple, Java a une instruction return qui vous permet de terminer instantanément la méthode qui l'appelle. Voici la déclaration :
return;
C'est simple : le mot solitaire return
suivi d'un point-virgule. Dès que le programme exécute cette instruction, la méthode en cours se termine immédiatement et l'appel se poursuit.
Si return
est appelé dans la main
méthode, alors la main
méthode se terminera immédiatement, et avec elle tout le programme.
Exemple:
|
La fill méthode remplit une partie du tableau passé avec value . La partie du tableau à remplir est définie par les indices from et to . Si from est inférieur 0 ou to supérieur à la longueur du tableau, la méthode se termine immédiatement. |
Le programme ci-dessus a une fill
méthode qui remplit le tableau qui lui est passé avec value
. Il ne remplit pas tout le tableau, seulement la partie spécifiée par les indices from
et to
.
Au début de la fill
méthode, les valeurs transmises sont vérifiées pour s'assurer qu'elles sont valides. Si from
est inférieur à 0 ou to
supérieur à la longueur du tableau, la fill
méthode se termine immédiatement (exécute une return
instruction).
Cette return
déclaration est utile : pratiquement toutes les méthodes de Java en ont une, et voici pourquoi.
2. Méthodes avec un résultat,void
Rappelez-vous que nous avons compris qu'il y a des déclarations et des expressions . Une expression, contrairement à une instruction, a une valeur qui peut être utilisée quelque part.
Et, en Java, les méthodes peuvent avoir une valeur . Et c'est une très bonne nouvelle : les méthodes sont non seulement capables de faire quelque chose en fonction des paramètres d'entrée, mais aussi, par exemple, d'évaluer quelque chose et de renvoyer le résultat du calcul .
Au fait, vous avez déjà rencontré de telles méthodes :
|
La abs() méthode renvoie un double |
|
La nextInt() méthode retourne unint |
|
La toUpperCase() méthode retourne unString |
|
La copyOf() méthode retourne unint[] |
Chaque méthode ne peut renvoyer qu'une seule valeur d'un type prédéterminé. Le type de retour est déterminé lors de la déclaration de la méthode :
public static Type name(parameters)
{
method body
}
Où name
est le nom de la méthode, parameters
est la liste des paramètres de la méthode et type
est le type du résultat renvoyé par la méthode.
Pour les méthodes qui ne renvoient rien, il existe un type d'espace réservé spécial : void
.
Êtes-vous en train d'écrire votre propre méthode et ne souhaitez-vous rien renvoyer à la méthode appelante ? Déclarez simplement le type de la méthode en tant que void
, et le problème est résolu. Il existe également de nombreuses méthodes comme celle-ci en Java.
3. Renvoyer un résultat
Nous venons de comprendre comment déclarer une méthode qui renvoie le résultat d'un calcul, mais comment résultat-on ce résultat dans la méthode elle-même ?
La return
déclaration nous aide ici encore une fois. Passer un résultat d'une méthode ressemble à ceci :
return value;
Où return
est une instruction qui termine la méthode immédiatement. Et value
est la valeur que la méthode renvoie à la méthode appelante lorsqu'elle se termine. Le type de value
doit correspondre à celui type
spécifié dans la déclaration de méthode.
Exemple 1. La méthode calcule le minimum de deux nombres :
|
La méthode renvoie le minimum de deux nombres. Si a < b retour a Sinon retour b |
Exemple 2. La méthode duplique la chaîne qui lui est transmise n
fois :
|
La méthode prend deux paramètres — une chaîne et le nombre de fois que la chaîne doit être répétée. Une chaîne vide est créée pour le résultat futur. Dans une boucle avec times itérations, un espace et la str chaîne sont ajoutés à la result chaîne. La chaîne result est renvoyée comme résultat de la méthode. |
Exemple 3 : La méthode calcule le maximum de deux nombres à l'aide de l'opérateur ternaire :
|
La méthode renvoie le maximum de deux nombres. retour (si a > b , alors a , sinon b ) |