淘先锋技术网

首页 1 2 3 4 5 6 7

Java是一门面向对象的编程语言,其中函数是面向对象编程的一个重要实现方式。函数中的参数在功能实现中起到很重要的作用。Java中的参数在传递方式上分为形式参数和实际参数两种类型。

形式参数表示函数定义中声明的参数,也称为形参。形式参数使用数据类型和参数名作为参数定义。比如:

public int add(int x, int y) {
return x + y;
}

在上述代码中,x和y就是函数add的形式参数。在调用函数时,形式参数值会被赋给相应的实际参数。

实际参数是函数调用中传递给函数的参数,也称为实参。实际参数可以是常量、变量或者表达式。实际参数传递的方式有两种,分别是值传递和引用传递。

值传递是指在传递参数时,实际参数的值被拷贝到形式参数中,即形参和实参的地址不同,变量名也不同。下面是值传递的一个例子:

public class Test {
public static void main(String[] args) {
int a = 1;
int b = 2;
int sum = add(a, b); 
System.out.println(sum); 
}
public static int add(int x, int y) {
return x + y; 
}
}

在上面的例子中,变量a和b是实际参数,在调用函数add时,它们的值被拷贝到形式参数x和y中。

引用传递是指在传递参数时,实际参数的引用(地址)被拷贝到形式参数中,即形参和实参的地址相同,变量名也相同。下面是引用传递的一个例子:

public class Test {
public static void main(String[] args) {
int[] arr = {1, 2, 3};
change(arr);
for (int i = 0; i< arr.length; i++) {
System.out.println(arr[i]); 
}
}
public static void change(int[] a) {
for (int i = 0; i< a.length; i++) {
a[i] *= 2; 
}
}
}

在上面的例子中,数组arr是实际参数,在调用函数change时,它的引用被拷贝到形式参数a中。在函数中修改a的值时,实际参数arr也会被修改。