一维数组内存是连续的,但是二维数组在内存上不是连续的。
数组的元素不能删除,只能覆盖。
数组的初始化:
1. int [] arr = {1,2};
2. int[] arr = new int [2];
初始化后元素的值都是0
上面第一个方法不会改变数组元素的值,而第二个方法会。
原因:
在Java方法参数的传递机制中,是值传递,也就是方法内会复制参数的值作为一个副本在方法内进行操作。
当参数是基本数据类型的是时候 ,方法内的操作不会对方法外的参数造成影响。
但是如果参数是对象的时候,那么方法内复制的值其实是对象的引用地址,那么在方法内对参数进行操作的时候,实际上会根据引用地址找到真正值所在位置,然后进行操作,对方法外的参数造成影响。