IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

Difference entre "return" et "system.out.printIn"


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 48
    Par défaut Difference entre "return" et "system.out.printIn"
    Bonsoir tout le monde,

    Je me pose la question, quelle est la difference fondamentale entre et puisque les 2 commandes m'affichent un résultat??

    Merçi d'avance.

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Alors :
    - printIn ça existe pas. Tu confonds avec println(). Un L minuscule.
    - return n'affiche rien du tout. Il fait sortir de la méthode en cours, avec comme valeur de retour ce que tu as indiqué dans le return. Et donc je me répète, rien dans tout cela n'affiche quoi que ce soit.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 48
    Par défaut
    merçi de ta réponse,

    donc, si je disais que return capture une valeur et que a l'aide de println on peut l'afficher dans la console, ce serait vrai ou non??

  4. #4
    Modérateur

    Avatar de Robin56
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juin 2009
    Messages
    5 297
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juin 2009
    Messages : 5 297
    Par défaut
    Citation Envoyé par ville_de_lumiere Voir le message
    donc, si je disais que return capture une valeur et que a l'aide de println on peut l'afficher dans la console, ce serait vrai ou non??
    "System.out.println" affiche sur la sortie standard. Si la sortie standard est la console, ceci affichera donc dans la console.

    Par contre pour le "return", je ne comprends pas ta définition. C'est juste le retour d'une méthode. Si tu as une méthode qui doit te renvoyer une valeur, c'est au moment du return qu'elle renverra une valeur à la méthode mère au dessus qui l'appelle.
    Responsable Java de Developpez.com (Twitter et Facebook)
    Besoin d'un article/tutoriel/cours sur Java, consulter la page cours
    N'hésitez pas à consulter la FAQ Java et à poser vos questions sur les forums d'entraide Java
    --------
    Architecte Solution
    LinkedIn : https://www.linkedin.com/in/nicolascaudard/

  5. #5
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 48
    Par défaut
    J'ai une derniere question, aprés je crois que je saisirai:
    Si au lieu de retourner la valeur a la methode mere, je me contentais de l'afficher avec printin?(en somme dans le meme endroit du code, je remplace return par printin)
    Ce serait quoi la difference??

    Pardon pour mon ignorance.

  6. #6
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    La première différence c'est que tu aurais deux erreurs:

    printin ca n'existe pas
    et java va se plaindre que t'a déclaré que ta méthode retourne quelque chose, mais que tu ne retourne rien.

    C'est pas qu'il y aie ou pas de différence, c'est que ces deux concepts n'ont strictement rien à voir et je ne sais même pas à quel moment tu as pu imaginer qu'il y aie un lien.

  7. #7
    Modérateur

    Avatar de Robin56
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juin 2009
    Messages
    5 297
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juin 2009
    Messages : 5 297
    Par défaut
    Citation Envoyé par ville_de_lumiere Voir le message
    J'ai une derniere question, aprés je crois que je saisirai:
    Si au lieu de retourner la valeur a la methode mere, je me contentais de l'afficher avec printin?(en somme dans le meme endroit du code, je remplace return par printin)
    Ce serait quoi la difference??

    Pardon pour mon ignorance.
    Ça n'a pas du tout le même but. Tout traitement fait au sein d'une méthode n'a pas pour but final d'être affiché par un println (c'est un L pas un I). Le return d'une méthode répond au mécanisme d'encapsulation qui permet ainsi de s'abstraire de la complexité d'un algo pour ne proposer qu'une méthode simple à l'utilisateur de la méthode.

    En gros si tu fais ton code comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    public class Lanceur {
      public static void main(String[] args) {
     
        double premiereValeur = 1;
        double deuxiemeValeur = 3;
     
        // fonction mégacomplexe
        double sommeDesDeux = premiereValeur + deuxiemeValeur;
        double moyenneValeur = sommeDesDeux/2;
     
        System.out.println("Ma moyenne est : " + moyenneValeur);
      }
    }
    Ton code est difficile à comprendre car tu mets tout ton algorithme directement au premier niveau. De plus, tu ne peux tester facilement ta classe.

    Alors que tu peux voir à travers cet exemple qu'il y a une méthode simple qui se dégage de ce code qui est la méthode "moyenne". Tu pourrais ainsi écrire un code comme celui-ci :
    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
    public class Lanceur {
      public static void main(String[] args) {
     
        double premiereValeur = 1;
        double deuxiemeValeur = 3;
     
        // fonction mégacomplexe encapsulée
        double moyenneValeur = moyenne(premiereValeur, deuxiemeValeur);
     
        System.out.println("Ma moyenne est : " + moyenne);
      }
     
      public double moyenne(double premiereValeur, double deuxiemeValeur) {
        double sommeDesDeux = premiereValeur + deuxiemeValeur;
        double moyenneValeur = sommeDesDeux/2;
        return moyenneValeur;
      }
    }
    Dans ce cas, ton code est mieux séparé et il t'est aisé de faire un test unitaire sur la fonction moyenne.

    Après comme je l'ai dis là mon exemple utilisait la fonction println pour afficher quelque chose mais ce n'est pas forcément le cas du tout. J'aurais pu écrire par exemple le résultat dans un fichier ou faire une interface graphique affichant la valeur. Dans ce cas, on aurait encore mieux vu qu'il n'y a pas de rapport entre l'utilisation de println ou de return.

    Dans tout les cas, je pense que tu devrais lire quelques tutoriels de base sur Java pour t'éclairer tout ça car je pense que tu te mélanges un peu.
    Responsable Java de Developpez.com (Twitter et Facebook)
    Besoin d'un article/tutoriel/cours sur Java, consulter la page cours
    N'hésitez pas à consulter la FAQ Java et à poser vos questions sur les forums d'entraide Java
    --------
    Architecte Solution
    LinkedIn : https://www.linkedin.com/in/nicolascaudard/

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Difference entre [Simple quote] & [Double quote]
    Par Invité dans le forum SQL
    Réponses: 3
    Dernier message: 24/07/2013, 12h24
  2. Réponses: 3
    Dernier message: 14/06/2010, 07h40
  3. la difference entre date systeme et date
    Par soumia_adr dans le forum DB2
    Réponses: 1
    Dernier message: 09/04/2009, 15h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo