Java函数传参和返回值的方法。
发布时间:2023-07-01 21:03:54
Java中,函数的参数传递和返回值都是通过值传递的方式进行的。具体来说,函数的参数传递是将实参的值复制一份给形参,而返回值是将函数中的结果值复制一份返回给调用者。
对于函数的参数传递,Java中有两种传递方式:按值传递和按引用传递。
按值传递是指将实参的值复制一份给形参,形参接收到的是实参的副本,任何对形参的修改都不会影响到实参本身。这是因为Java中的基本数据类型(如整型、浮点型、布尔型等)都是按值传递的。
例如,下面的代码示例中,changeValue函数中的形参x接收到了实参a的副本,任何对x的修改都不会影响到a的值。
public class Main {
public static void main(String[] args) {
int a = 10;
changeValue(a);
System.out.println(a); // 输出:10
}
public static void changeValue(int x) {
x = 20;
}
}
按引用传递是指将实参的引用值复制一份给形参,形参接收到的是实参的地址,可以通过形参来修改实参指向的对象的属性值。这是因为Java中的引用类型(如数组、字符串、自定义类等)都是按引用传递的。
例如,下面的代码示例中,changeArray函数中的形参arr接收到了实参array的引用副本,可以通过arr修改实参array指向的数组的元素值。
public class Main {
public static void main(String[] args) {
int[] array = {1, 2, 3};
changeArray(array);
System.out.println(array[0]); // 输出:10
}
public static void changeArray(int[] arr) {
arr[0] = 10;
}
}
对于函数的返回值,是将函数中的结果值复制一份返回给调用者。返回值的类型可以是基本数据类型或引用类型。如果函数没有返回值,则返回类型为void。
例如,下面的代码示例中,getSum函数的返回类型为int,返回的是a和b的和。
public class Main {
public static void main(String[] args) {
int a = 10;
int b = 20;
int sum = getSum(a, b);
System.out.println(sum); // 输出:30
}
public static int getSum(int x, int y) {
return x + y;
}
}
需要注意的是,函数的返回值只是将结果值复制一份返回给调用者,对返回值进行修改不会影响到函数内部的结果值。
综上所述,Java中函数的参数传递和返回值都是通过值传递的方式进行的。参数传递是将实参的值复制一份给形参,返回值是将函数中的结果值复制一份返回给调用者。
