Salut à tous,
je suis un novice en matière de programmation et j'aimerai savoir à quoi sert et que signifie "return" en java.
Merci!
Salut à tous,
je suis un novice en matière de programmation et j'aimerai savoir à quoi sert et que signifie "return" en java.
Merci!
Salut,
le mot clé return sert à quitter une méthode et à retourner (d'ou le nom) à la méthode appelante.
lorsque la méthode est du type void, return suffit pour quitter la méthode.
exemple :
l'exécution de ce programme va afficher dans la console :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 public class Exemple() { public static void main(String[] args) { System.out.println("avant appel"); test(); System.out.println("après appel"); } public static void test() { System.out.println("dans test()"); return; // retourne à la méthode qui a appeler test(); } }
avant appel
dans test()
après appel
si la méthode à un type, return permet de retourner un résultat, du type de la méthode
exemple :
va afficher :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 public class Exemple2() { public static void main(String[] args) { System.out.println("avant appel"); int resultat=test(); System.out.println("après appel"); System.out.println("résultat : " + resultat); } public static int test() { System.out.println("dans test()"); return 5; // retourne à la méthode qui a appeler test() en retournant la valeur 5; } }
l'exécution de ce programme va afficher dans la console :
avant appel
dans test()
après appel
résultat : 5
bien que cela soit interdit en programmation dite structurée (un seul point d'entrée, un seul point de sortie), on peut mettre return n'importe ou dans la méthode, mais le code qui suit le return doit pouvoir être éxécuter pour au moins une condition.
exemple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51 public static class Exemple3() { public static void main(String[] args) { boolean resultat=contient("abcd","cde"); } /** * Teste si l'un de caractères contenus dans c est dans s */ public static boolean contient(String s, String c) { for(int i=0; i<s.length(); i++) { for(int j=0; j<car.length(); j++) { if ( s.charAt(i)==c.charAt(j) ) { return true; } } } return false; } // version programmation structurée public static boolean contient2(String s, String c) { boolean trouve=false; for(int i=0; !trouve && i<s.length(); i++) { for(int j=0; !trouve && j<car.length(); j++) { if ( s.charAt(i)==c.charAt(j) ) { trouve=true; } } } return trouve; } // version interdite car code non exécutable suivant le return /*public static boolean contient3(String s, String c) { boolean trouve=false; for(int i=0; !trouve && i<s.length(); i++) { for(int j=0; !trouve && j<car.length(); j++) { if ( s.charAt(i)==c.charAt(j) ) { trouve=true; } } } return trouve; // code qui suit non exécutable if ( trouve ) { System.out.println("trouvé"); } }*/ }
quand la méthode n'a pas de type, on est pas obligé de mettre return, la fin de la méthode fait la même chose (on reste évidement pas bloqué à la fin de la méthode)
affichera :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 public class Exemple4() { public static void main(String[] args) { test("salut !"); test("ça va ?"); } public static void test(String parametre) { System.out.println(parametre); } }
salut !
ça va ?
L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
Nouveau sur le forum ? Consultez Les Règles du Club.
Partager