Java Program to Demonstrate the Call By Value

Functions can be summoned in two ways: Call by Value and Call by Reference. Call by Value method parameters values are copied to another variable and then the copied object is passed, that’s why it’s called pass by value where actual value does not change
User cases: Calling methods in programming where the method needs to be called for using its functionality. There can be three situations when a method is called or the method returns to the code that invoked it in conditions depicted below:
- It completes all the statements in the method
 - It reaches a return statement
 - Throws an exception
 
Remember: Java is Call By Value always
Implementation: Swapping of numbers is called by value is taken as example to illustrate call by value method
- Example 1: illustrates the swapping of numbers by creating an auxiliary space in memory known as temporary variable
 
Java
// Java Program showcasing uses of call by value in examples// Importing java input output classesimport java.io.*;// Classpublic class GFG {    // Method to swap numbers    static void swap(int a, int b)    {        // Creating a temporary variable in stack memory        // and updating values in it.        // Step 1        int temp = a;        // Step 2        a = b;        // Step 3        b = temp;        // This variables vanishes as scope is over    }    // Main driver method    public static void main(String[] args)    {        // Custom inputs/numbers to be swapped        int x = 5;        int y = 7;        // Display message before swapping numbers        System.out.println("before swapping x = " + x                           + " and y = " + y);        // Using above created method to swap numbers        swap(x, y);        // Display message after swapping numbers        System.out.println("after swapping x = " + x                           + " and y = " + y);    }} | 
before swapping x = 5 and y = 7 after swapping x = 5 and y = 7
Output explanation: After calling method swap(5,7), integer values 5 and 7 are got copied into another variable. That’s why original value does not change.
- Example 2: illustrates the swapping of numbers by sum and deletion mathematics computations without creating any auxiliary space.
 
Java
// Java Program showcasing uses of call by value in examples// Importing java input output classesimport java.io.*;// Classclass GFG {    // Method to update value when called in main method    static void change(int a)    {        // Random updation        a = a + 50;    }    // Main driver method    public static void main(String[] args)    {        // Random assassination        int a = 30;        // Printing value of variable        // before calling  change() method        System.out.println("before change a = " + a);        // Calling above method in main() method        change(a);        // Printing value of variable        // after calling  change() method        System.out.println("after change a = " + a);    }} | 
before change a = 30 after change a = 30
				
					


