Dans n'importe quel langage de programmation, y compris Java, lorsque nous appelons une fonction et transmettons des paramètres sous forme de valeurs au lieu d'objets ou de pointeurs, nous l'appelons « appel par valeur ». L'implémentation Java spécifique, où les pointeurs ne sont pas explicitement utilisés, traite cela comme un « appel par valeur ». Dans ce scénario, la fonction reçoit une copie de la valeur de la variable stockée en mémoire comme argument.
Commencez votre cours de développement de logiciels libres
Développement Web, langages de programmation, tests de logiciels et autres
Syntaxe
La syntaxe de « appel par valeur » est utilisée dans toutes les langues et est plus ou moins similaire.
Function: Function_name( parameter1, parameter2) { Int variable_name1; Int variable_name2; }
Ici, les paramètres de fonction sont transmis sous forme de valeur plutôt que d'objets.
« Appel par valeur » alloue une variable de données à l'emplacement mémoire. Les données qui lui sont associées peuvent être stockées dans cet emplacement mémoire. Cependant, la manipulation des données dans la même région mémoire après l'attribution de la valeur initiale n'est pas prise en charge, sauf si la variable est détruite. Par exemple, ici :
Int value=5;
Voici les exemples suivants mentionnés ci-dessous.
L'exemple ci-dessous explique comment les données sont transmises en utilisant la valeur à une fonction nommée addition(). La fonction addition() prendra les données comme paramètre et donnera les données manipulées après y avoir ajouté 200, comme nous pouvons le voir dans la définition de la fonction. Mais puisque nous utilisons ici la valeur dans chaque fonction, y compris la fonction d'impression, la valeur de la variable « d'entrée » reste inchangée.
Code :
public class Main { int input=20; // The below function will manipulate the data passed to it as parameter value. void addition(int input){ input=input+200; } public static void main(String args[]) { Main t_var=new Main(); System.out.println("before change "+t_var.input); t_var.addition(1000); // Here we pass 500 value instead of any reference. System.out.println("after change "+t_var.input); } }
Sortie :
L'exemple ci-dessous a une fonction nommée « multiplier ». Cette fonction prend deux valeurs de paramètres, puis multiplie ces paramètres dans les fonctions pour fournir le résultat final. Ici, puisque nous avons un nouvel octet de mémoire alloué pour stocker un entier, la valeur sera donc stockée avec succès et affichée sur l'écran de sortie par la fonction d'impression, contrairement au cas précédent.
Code :
public class Main { public static void main(String[] args) { int a = 30; int b = 45; System.out.println("The values we have inputted are: a = " + a + " and b = " + b); System.out.println(""); multiply(a, b); System.out.println("Here we are checking that if we pass parameters by value then what will be the product of multiplication of two values."); } public static void multiply(int a, int b) { System.out.println("Before multiplying the parameters, a = " + a + " b = " + b); int product = a*b; System.out.println("After multiplying the parameters, product = " + product); } }
Sortie :
« Call by Value » est un concept important utilisé dans les langages de programmation, quel que soit le langage spécifique utilisé. Que ce soit JAVA, C, C++, python ou tout autre langage, chaque langage utilise des fonctions qui prennent un ou plusieurs paramètres pour fournir un résultat. « Appel par référence » utilise un objet plutôt que la valeur de la variable elle-même. On utilise « l'appel par référence » en programmation dynamique puisqu'il crée un objet de la variable.
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!