Salut tout le monde,
J'ai loupé tout un semestre d'informatique suite à une réorientation, du coup j'ai un peu de retard..
Je ne comprends pas à quoi sert le "return" en Java. On me dit toujours : "ça retourne une valeur", oui mais ça signifie quoi "retourner une valeur" ?
Quand j'ai rattrapé les cours du premier semestre, on utilisait sopln pour afficher une valeur. Du coup c'est quoi la différence entre return et sopln ? Désolé si j'ai l'air perdu, mais il faudrait que l'on m'explique sans hésiter à vulgariser.
Merci à vous.
La différence c'est que return sert à dire au programme que l'instruction est terminer et retourne donc le résultat de l'instruction.
Le return à la fin d'une méthode permet de renvoyer une valeur que tu peux stocker dans une variable ou utiliser dans une autre méthode, alors que si tu ne fais que l'afficher tu ne peux pas la réutiliser plus tard.
Je suppose que sopln signifie System.out.prinln(). Si c'est le cas, cela permet d'afficher quelque chose à l'utilisateur finale.
Je suppose que tu as quelques notions en Java, comme savoir ce que sont les variables.
En Java, tu utilises les fonctions pour organiser ton code et/ou éviter de réécrire le même code à plusieurs endroits. Une fonction va effectuer une tâche précise. Dans certains cas, on souhaite obtenir une valeur de retour. Par exemple, tu souhaites faire une fonction pour connaitre la racine carrée d'un nombre. Tu créés ta fonction, et à la fin de celle-ci, tu utilises l'instruction return, avec le résultat obtenu pour renvoyer la valeur au programme appelant.
Tu vois ce que je veux dire ?
En effet, je viens de comprendre!
En gros l'avantage du return, c'est qu'on peut utiliser la valeur dans une autre classe ou méthode, tandis que System.out.prinln() ne fait qu'afficher une valeur présente dans la classe. C'est bien ça ?
Merci en tout cas, je comprends déjà beaucoup mieux !
Le 26 mars 2017 à 16:31:04 DeBreuil a écrit :
En gros l'avantage du return, c'est qu'on peut utiliser la valeur dans une autre classe ou méthode, tandis que System.out.prinln() ne fait qu'afficher une valeur présente dans la classe. C'est bien ça ?
Oui.
Ouai c'est exactement ce que t'as compris
En fait le return c'est juste dire ce que la méthode va retourner comme valeur pour que cette valeur soit utiliser ailleurs
Si ta méthode n'a rien a envoyée et qu'elle doit juste faire quelque chose comme afficher quelque chose (sopln), bah t'as pas besoin de retourner quelque chose
Return met aussi fin à la fonction, même si il y a encore des instructions après.