欢迎访问宙启技术站
智能推送

如何传递参数到Java函数?

发布时间:2023-07-01 14:58:33

在Java中,传递参数到函数通常有三种方式:传值调用、传引用调用和传地址调用。

1. 传值调用:基本数据类型的值被复制并传递给函数。在函数中对参数的修改不会影响调用者的变量。例如:

public void modify(int num) {
    num = 10;
}

public static void main(String[] args) {
    int num = 5;
    modify(num);
    System.out.println(num); // 输出5
}

2. 传引用调用:对象作为参数传递给函数时,实际传递的是引用的副本。修改引用所指向的对象的属性或调用引用的方法,会影响原始对象。例如:

public class Person {
    private String name;
    
    public Person(String name) {
        this.name = name;
    }
    
    public void setName(String name) {
        this.name = name;
    }
    
    public String getName() {
        return name;
    }
}

public void modify(Person person) {
    person.setName("John");
}

public static void main(String[] args) {
    Person person = new Person("Alice");
    modify(person);
    System.out.println(person.getName()); // 输出John
}

3. 传地址调用:数组作为参数传递给函数时,传递的是数组对象的地址,可以修改数组的内容。例如:

public void modifyArray(int[] arr) {
    arr[0] = 10;
}

public static void main(String[] args) {
    int[] arr = {1, 2, 3};
    modifyArray(arr);
    System.out.println(arr[0]); // 输出10
}

除了以上三种方式外,还可以使用Java中的可变参数(Varargs)来传递不确定数量的参数。例如,一个函数可以接收多个整数参数:

public void sum(int... numbers) {
    int total = 0;
    for (int num : numbers) {
        total += num;
    }
    System.out.println("Sum: " + total);
}

public static void main(String[] args) {
    sum(1, 2, 3); // 输出6
    sum(4, 5, 6, 7); // 输出22
}

总结起来,Java中可以通过传值调用、传引用调用、传地址调用和可变参数等方式来传递参数到函数,根据需要选择合适的方式。