我想详细了解为什么输出为111-2-666

时间:2014-09-02 14:47:44

标签: java

public class SomeClass {
    public static void f(int x, int [] y, int[] z){
        x=2;
        y[0]=x;
        z= new int[5];
        z[0]=555;
    }

        public static void main(String[] args){
        int x= 111;
        int[] y={222,333,444,555};
        int[] z={666,777,888,999};
        f(x,y,z);
        System.out.println(x);
        System.out.println(y[0]);
        System.out.println(z[0]);

    }

    }

此代码的输出为111-2-666,f(x,y,z)是多少;到底怎么办?为什么在执行后它将x打印为111,而y [0]得到另一个x的值并打印2和z保持相同,尽管它说z [0]是555?除了y [0]之外,一切都保持不变,我不明白为什么。

0 个答案:

没有答案