首頁 > Java > java教程 > 主體

Java 按值調用

WBOY
發布: 2024-08-30 15:33:58
原創
985 人瀏覽過

在任何程式語言中,包括 Java,當我們呼叫函數並將參數作為值而不是物件或指標傳遞時,我們稱之為「按值呼叫」。未明確使用指標的特定 Java 實作將其視為「按值呼叫」。在這種情況下,函數接收儲存在記憶體中的變數值的副本作為其參數。

開始您的免費軟體開發課程

網頁開發、程式語言、軟體測試及其他

文法

「按值呼叫」的語法在所有語言中都使用,並且或多或少相似。

Function: Function_name( parameter1, parameter2)
{
Int variable_name1;
Int variable_name2;
}
登入後複製

這裡,函數參數是作為值而不是物件傳遞。

Java 中按值呼叫如何運作?

「按值呼叫」將資料變數分配到記憶體位置。與之相關的資料可以儲存在該儲存位置中。但是,除非變數被銷毀,否則不支援在初始值分配後操作相同記憶體區域內的資料。例如,這裡:

Int value=5;
登入後複製

範例

以下是下面提到的以下範例。

範例#1

下面的範例解釋如何使用值將資料傳遞給名為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);
}
}
登入後複製

輸出:

Java 按值調用

範例#2

下面的範例有一個名為「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 按值調用

結論

「按值呼叫」是程式語言中使用的重要概念,無論使用哪種特定語言。無論是 JAVA、C、C++、Python 或任何其他語言,每種語言都使用採用一個或多個參數來提供結果的函數。 「按引用呼叫」使用物件而不是變數本身的值。我們在動態程式設計中使用“按引用呼叫”,因為它會建立變數的物件。

以上是Java 按值調用的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板