void函数的返回值

时间:2016-11-06 21:50:19

标签: java

我正在学习Java,从我学到的,是你需要指定一个函数返回的值。如果它没有返回一个值,那么它是无效的.. 但是在下面的程序中,我可以从void函数更改数组的值。有人可以向我解释一下吗?

 public class ArraysInMethods {
    public static void main(String args[]){
        int rd[] = {2,3,4,5,6};
        change(rd);

        for(int y: rd){
            System.out.println(y);
        }

    }

    public static void change(int x[]){
        for(int counter = 0; counter<x.length;counter++){
            x[counter]+=5;
        }
    }

}

1 个答案:

答案 0 :(得分:3)

  

我学习Java,从我学到的,是你需要指定一个函数返回的值。

这仅适用于返回值的方法,即void以外的方法。这些方法定义表达式,而void方法定义语句

调用change方法是一种声明,因为它缺少返回值。但是,它并不意味着它无法更改正在运行的程序的状态 - 例如,为变量赋予不同的值。

  

但是在下面的程序中,我能够从void函数更改数组的值。

您没有从void函数返回值;你所要做的就是修改阵列。这是允许的,因为数组是通过引用传递的。