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 :

Methode echange (Claude delannoy)


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Octobre 2007
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 57
    Par défaut Methode echange (Claude delannoy)
    Bonjour ,

    Il y a un exemple que je ne comprends pas dans le livre de Claude delannoy :

    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
    public class Echange
    {
       public static void main (String args [])
       {
          int n = 10, p =20;
          System.out.println ("Avant Appel : "+ n + " " + p);
          Utilitaire.Echange(n, p);
          System.out.println ("Après Appel : " + n + " " + p);
       }
    }
     
    class Utilitaire
    {
         public static void Echange(int a, int b)                 // mettre static
         {
           System.out.println("Début Echange : " + a+ " " + b);
           int c;
           c = a;
           a = b;
           b = c;
           System.out.println ("Fin   Echange : "+ a + " " + b);
         }
     
     
    }
    Pourquoi les valeurs de n et p ne sont pas inversés après appel?
    Je ne comprends pourquoi l 'ont dit que java transmet toujours les informations par valeur

    merci

  2. #2
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Par défaut
    Les arguments sont transmis par valeur à la méthode. En clair, juste avant l'appel de la méthode, une copie de n et p est transmise en arguments de méthode, et non les variables elles-même.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
    Que la force de la puissance soit avec le courage de ta sagesse.

  3. #3
    Membre expérimenté Avatar de Amine_sas
    Profil pro
    Étudiant
    Inscrit en
    Juin 2005
    Messages
    245
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2005
    Messages : 245
    Par défaut
    Salut,
    Tu peux jeter un coup d'oeil sur ce thread pour en apprendre davantage.

  4. #4
    Membre averti
    Inscrit en
    Octobre 2007
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 57
    Par défaut
    Bonjour ,

    Ok donc il s agit de copies et non des variables elles meme , mais ces copies occupent une autre case mémoire ?

    Pour les objets cela s' opére aussi par copie?

    merci

  5. #5
    Membre expérimenté Avatar de Amine_sas
    Profil pro
    Étudiant
    Inscrit en
    Juin 2005
    Messages
    245
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2005
    Messages : 245
    Par défaut
    Salut,

    Ok donc il s agit de copies et non des variables elles meme , mais ces copies occupent une autre case mémoire ?
    Oui, et elles seront supprimées à la fin de l'appel de la méthode.

    Pour les objets cela s' opére aussi par copie?
    Oui mais il faut mettre à l'esprit qu'une méthode peut changer l'état d'un objet; c'est-à-dire le contenu de la mémoire référencée par l'objet et pas l'adresse mémoire stockée dans cette variable objet .

  6. #6
    Membre averti
    Inscrit en
    Octobre 2007
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 57
    Par défaut
    merci ,

    Mais je ne peux changer l adresse mémoire de la variable de type objet ?la référence est bien une case mémoire qui va pointer vers un objet définit par ses champs et méthodes d ' instance.

    imaginons je fasse ça :
    Un point étant défini par son abscisse et son ordonnée.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Point a = new Point ();
    ici la référence à l ' objet est bien a ????et l objet référence par a sera les variables d instances de la classe Point?

    Merci

  7. #7
    Membre chevronné Avatar de Haywire
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2006
    Messages
    462
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2006
    Messages : 462
    Par défaut
    Pour les objets cela s' opére aussi par copie?
    Les objets sont passés par référence, il n'y a pas de copie.
    A l'intérieur de la méthode on agit donc directement sur l'objet passé en argument.

Discussions similaires

  1. Réponses: 11
    Dernier message: 28/04/2023, 18h30
  2. Avis livre c++ Claude delannoy
    Par niznele dans le forum C++/CLI
    Réponses: 2
    Dernier message: 06/03/2011, 12h27
  3. echange de données php/flash
    Par ramses83 dans le forum Flash
    Réponses: 8
    Dernier message: 18/08/2003, 23h50
  4. [Kylix] Echange de données entre fiches
    Par _dack_ dans le forum EDI
    Réponses: 1
    Dernier message: 01/07/2003, 11h34
  5. Methode de drcherche a l,interieur de basse de donner texte
    Par philippe V dans le forum Autres SGBD
    Réponses: 4
    Dernier message: 03/12/2002, 10h20

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