在任何程式語言中,包括 Java,當我們呼叫函數並將參數作為值而不是物件或指標傳遞時,我們稱之為「按值呼叫」。未明確使用指標的特定 Java 實作將其視為「按值呼叫」。在這種情況下,函數接收儲存在記憶體中的變數值的副本作為其參數。
開始您的免費軟體開發課程
網頁開發、程式語言、軟體測試及其他
文法
「按值呼叫」的語法在所有語言中都使用,並且或多或少相似。
Function: Function_name( parameter1, parameter2) { Int variable_name1; Int variable_name2; }
這裡,函數參數是作為值而不是物件傳遞。
「按值呼叫」將資料變數分配到記憶體位置。與之相關的資料可以儲存在該儲存位置中。但是,除非變數被銷毀,否則不支援在初始值分配後操作相同記憶體區域內的資料。例如,這裡:
Int value=5;
以下是下面提到的以下範例。
下面的範例解釋如何使用值將資料傳遞給名為addition()的函數。 addition() 函數將數據作為參數,並在添加 200 後給出操作後的數據,正如我們在函數定義中看到的那樣。但由於我們在每個函數中都使用了值,包括列印函數,因此「input」變數的值保持不變。
代碼:
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); } }
輸出:
下面的範例有一個名為「multiply」的函數。此函數採用兩個參數值,然後將函數中的這些參數相乘以提供最終輸出。這裡,由於我們分配了一個新的記憶體位元組來儲存整數,因此該值將透過 print 函數成功儲存並顯示在輸出畫面上,與先前的情況不同。
代碼:
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); } }
輸出:
「按值呼叫」是程式語言中使用的重要概念,無論使用哪種特定語言。無論是 JAVA、C、C++、Python 或任何其他語言,每種語言都使用採用一個或多個參數來提供結果的函數。 「按引用呼叫」使用物件而不是變數本身的值。我們在動態程式設計中使用“按引用呼叫”,因為它會建立變數的物件。
以上是Java 按值調用的詳細內容。更多資訊請關注PHP中文網其他相關文章!