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