之前学习的时候只是知道有基本数据类型和引用数据类型两大类,但是不知道区别,或者说是各自有什么特性,
今天意外收获了点东西
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 是对实参的引用它即等于实参。
所以输出的结果一样,本质都是输出的都是同一个地址的内容,而基本数据类型只是是对值的传递,所以不会改变原
有的变量的值。