Maison Problème commun La différence entre le passage par valeur et le passage par référence

La différence entre le passage par valeur et le passage par référence

Dec 10, 2019 am 11:50 AM
Passer par valeur

La différence entre le passage par valeur et le passage par référence

Le transfert de valeur fait référence au transfert de types de données de base dans les méthodes, et le transfert de référence fait référence au transfert de types de données de référence dans les méthodes.

Par exemple, comme indiqué dans l'opération de code de programme suivante :                                                                                                                                                                                                                           >

Remarque :

int est un type de données de base, donc lorsqu'elle est passée et référencée dans une méthode, la valeur de la variable ne sera pas modifiée La différence entre le passage par valeur et le passage par référence

et arr appartient à un tableau, c'est un type de données de référence, donc lorsqu'une méthode est référencée, ce qui est réellement passé est le adresse de mémoire physique du tableau dans la mémoire tas. Les opérations sur le tableau dans la méthode affecteront les valeurs à l'intérieur du tableau et changeront

Raison :

Dans java, lorsque des types de données de base sont transmis en tant que paramètres, cela s'appelle un passage de valeur et la valeur elle-même est transmise

Passage de valeur : les modifications de valeur dans cette méthode sont des modifications de variables locales

Cela n'a aucun effet lorsque la méthode est quittée (le type de données de base transmis dans la méthode est une variable locale)


En Java, les paramètres de la méthode et les types de données de référence reçoivent la valeur physique valeur de l'adresse mémoire Lorsque la valeur à l'intérieur du tableau est modifiée dans la méthode, l'adresse mémoire physique du tableau n'est pas modifiée, donc lors du retour à la méthode principale, le tableau pointe toujours vers l'adresse d'origine.


Lorsque la valeur d'adresse du tableau arr en mémoire est transmise, l'adresse continue dans la mémoire tas change, ce qui peut affecter l'ensemble du tableau

Cas particulier : String/basic classe wrapper de type de données, bien qu'ils soient tous des types de données de référence, lorsque les paramètres sont transmis, ils transmettent des valeurs

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Démystifier le passage par valeur et le passage par référence dans les appels de fonction PHP Démystifier le passage par valeur et le passage par référence dans les appels de fonction PHP Apr 16, 2024 pm 02:39 PM

Les appels de fonction en PHP peuvent être passés par valeur ou par référence. La valeur par défaut est de passer par valeur, la fonction reçoit une copie du paramètre et les modifications apportées à celui-ci n'affectent pas la valeur d'origine. Le passage par référence est déclaré en ajoutant un symbole & avant le paramètre, et la fonction modifie directement la variable passée. Le passage par référence est utile lorsque vous avez besoin d'une fonction pour modifier une variable externe, telle qu'un élément de tableau.

Comment comprendre correctement la méthode de transmission de valeur en PHP Comment comprendre correctement la méthode de transmission de valeur en PHP Mar 08, 2024 pm 03:30 PM

Comment comprendre correctement la méthode de transmission de valeurs en PHP PHP est un langage de script largement utilisé dans le développement Web, et les méthodes de transmission de paramètres en PHP incluent principalement la transmission de valeurs et la transmission de références. Et comprendre comment les valeurs sont transmises en PHP est crucial pour écrire du code efficace. Cet article discutera en détail de la méthode de transmission de valeurs en PHP et utilisera des exemples de code spécifiques pour aider les lecteurs à mieux comprendre. Le concept de base de la méthode de transmission de valeur est de copier la valeur d'une variable et de la transmettre à une fonction ou une méthode. Les opérations sur la valeur dans la fonction ne l'affecteront pas.

Que sont le passage par valeur et le passage par référence Que sont le passage par valeur et le passage par référence Dec 15, 2023 pm 03:03 PM

Passer par valeur consiste à transmettre une copie du paramètre à la fonction, afin que la fonction reçoive une copie de la valeur du paramètre, pas le paramètre lui-même. Toute modification du paramètre à l'intérieur de la fonction n'affectera que cette copie et non la variable d'origine. valeur. Passer par référence consiste à transmettre l'adresse ou la référence du paramètre à la fonction. Cela signifie que la fonction reçoit une référence aux données d'origine, pas une copie des données. Toute modification apportée aux paramètres à l'intérieur de la fonction affectera directement les données d'origine. Ces deux méthodes de livraison ont leurs propres applications, avantages et inconvénients dans différents langages de programmation et scénarios.

Analyse détaillée de la différence entre le passage de valeur et le passage de référence en Java Analyse détaillée de la différence entre le passage de valeur et le passage de référence en Java Jan 30, 2024 am 08:11 AM

Analyse approfondie de la différence entre le passage de valeur et le passage de référence en Java.Dans la programmation Java, nous rencontrons souvent la situation du passage de paramètres, et il existe deux manières de passer des paramètres : le passage de valeur et le passage de référence. Ces deux méthodes de livraison ont des caractéristiques et des scénarios d'application différents en Java. Pass-by-Value fait référence au passage de la valeur du paramètre réel au paramètre formel lorsque la fonction est appelée. Les modifications apportées aux paramètres formels au sein de la fonction n'affecteront pas la valeur du paramètre réel. Passe-par-référence

La différence entre le pointeur de structure et le transfert de valeur de structure dans les fonctions Golang La différence entre le pointeur de structure et le transfert de valeur de structure dans les fonctions Golang May 31, 2024 pm 07:43 PM

Dans Go, les paramètres de fonction peuvent être transmis par valeur ou par pointeur. La transmission de valeur transmet une copie et les modifications apportées à la copie n'affecteront pas la valeur d'origine ; la transmission de pointeur transmet l'adresse et les modifications apportées au contenu seront reflétées dans la valeur d'origine. En pratique, le passage de pointeurs peut être utilisé pour optimiser le code, par exemple lors du tri de tranches. Choisir la bonne méthode de livraison est essentiel pour optimiser votre code et améliorer les performances.

Quelle est la différence entre passer par valeur et passer par référence en Java Quelle est la différence entre passer par valeur et passer par référence en Java Jan 16, 2024 pm 04:18 PM

La différence entre le transfert de valeur Java et le transfert de référence : 1. Transfert de types de données de base 2. Transfert d'objets 3. Modification du pointage de référence ; Introduction détaillée : 1. Transfert de types de données de base. Pour les types de données de base, Java utilise le transfert de valeur lorsqu'une variable d'un type de données de base est transmise en tant que paramètre à une méthode, la valeur de la variable est réellement transférée, pas la valeur. de la variable. Sa référence, ce qui signifie que les modifications de ce paramètre dans la méthode n'affecteront pas la valeur de la variable d'origine. 2. Transfert d'objets, pour les références d'objets, la situation est différente, etc.

Étude approfondie des différences entre pass-by-value et pass-by-reference en Java et leur impact Étude approfondie des différences entre pass-by-value et pass-by-reference en Java et leur impact Jan 30, 2024 am 08:27 AM

Une analyse approfondie des différences et des implications du passage par valeur et du passage par référence en Java. Dans la programmation Java, le passage par valeur et le passage par référence sont deux manières courantes de transmettre des paramètres. Cependant, pour les débutants, il peut être un peu déroutant de comprendre la différence entre ces deux méthodes de diffusion et leur impact sur le programme. Cet article approfondira les concepts de passage par valeur et de passage par référence en Java et illustrera leurs différences et leur impact à travers des exemples de code concrets. Tout d’abord, comprenons ce que sont le passage par valeur et le passage par référence. En Java, lorsque vous passez des paramètres à une méthode, vous pouvez

Discussion sur l'application et les différences entre le passage de valeurs et le passage de références en Java Discussion sur l'application et les différences entre le passage de valeurs et le passage de références en Java Jan 30, 2024 am 09:16 AM

Scénarios d'application et différences entre le passage de valeur et le passage de référence en Java. Dans la programmation Java, deux méthodes, le passage de valeur et le passage de référence, sont utilisées lors du passage de paramètres. Comprendre les scénarios d'application et les différences entre ces deux méthodes de transfert est très important pour comprendre les méthodes d'allocation de mémoire et de transfert de paramètres lors de l'exécution de programmes Java. Cet article présentera en détail les concepts de transmission de valeurs et de transmission de références et donnera des exemples de code spécifiques. Le passage par valeur signifie que lorsqu'une méthode est appelée, une copie de la valeur du paramètre réel est transmise au paramètre formel à l'intérieur de la méthode, au lieu de transmettre l'emplacement de référence du paramètre réel.