首页 >Java >java教程 >Java 按值调用

Java 按值调用

WBOY
WBOY原创
2024-08-30 15:33:581017浏览

在任何编程语言中,包括 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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn