之前学习的时候只是知道有基本数据类型和引用数据类型两大类,但是不知道区别,或者说是各自有什么特性,

今天意外收获了点东西

package test;

public class CopyOfMaopao {

    public static void main(String[] args) {
        int array[]=new int[]{0,8,5,7,8,5};
        int[] smalltobig = smalltobig(array);
        int[] bigtosmall = bigtosmall(array);
        for (int i : smalltobig) {
            System.out.println(i);
        }
        System.out.println("-------------------------------");
        for (int i : bigtosmall) {
            System.out.println(i);
        }
        System.out.println("-------------------------------");
        for (int i : array) {
            System.out.println(i);
        }
    }
    
    public static int[] smalltobig(int[] a) {
        for (int i = 0; i < a.length; i++) {
            a[i]=0;
        }
        return a;
    }
    public static int[] bigtosmall(int[] b) {
        for (int i = 0; i < b.length; i++) {
            b[i]=1;
        }
        return b;
    }
}

 

运行输出结果如下:

                

结论:因为数组为引用数据类型,所以形参 int [] a 则完全等于实参 int array [],int [] a 是对实参的引用它即等于实参。

   所以输出的结果一样,本质都是输出的都是同一个地址的内容,而基本数据类型只是是对值的传递,所以不会改变原

   有的变量的值。