Open In App

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:



  1. It completes all the statements in the method
  2. It reaches a return statement
  3. 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






// Java Program showcasing uses of call by value in examples
 
// Importing java input output classes
import java.io.*;
 
// Class
public 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);
    }
}

Output
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.




// Java Program showcasing uses of call by value in examples
 
// Importing java input output classes
import java.io.*;
 
// Class
class 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);
    }
}

Output
before change a = 30
after change a = 30

Article Tags :