java数组浅谈

1.数组:数组指的就是一组相关类型的变量集合,并且这些变量可以按照统一的方式进行操作。
又分为一维数组、二维数组等等,所谓二维数组,就是一维数组中以某种方式存放着一些其他的一维数组。

2.定义一个数组的方法:
数组初始化:
数组动态初始化: int[] arr = new int [10];//先开辟内存空间
int[0]=1;
int[1]=2;
int[2]=3;

数组静态初始化:简化格式:int[] = {1,2,3,4,5} ;
完整格式:int [] arr2 =new int[] {4,5,6};

3.数组作为引用数据类型,也可以发生引用传递,即两个栈内存空间指向同一个堆内存地址(0x100)。
此时,arr2中元素若是发生改变,arr中元素也会随之改变,这种现象称为浅拷贝。
(浅拷贝的基础===》两个引用 同时指向一块内存)
java数组浅谈
4.数组的打印注意事项:
(1)对于一维数组和规则的二维数组,可以用for循环打印。
(2)一维数组也可以使用toString方法打印如下图;
java数组浅谈
(3)对于不规则二维数组我们使用deepToString方法打印,如下图;

5.数组的拷贝方式:
数组拷贝方法四种;
(1).for java数组浅谈

(2).clone
//Arrays–>操作数组的操作类
java数组浅谈
(3).System.arraycopy()
//由native修饰 底层代码由c/c++实现,是拷贝最快的一种
java数组浅谈
(4).Arrays.copyOf()
java数组浅谈
以上四种数组拷贝方式对于基本类型来说,都是深拷贝,而对于引用类型来说,都是浅拷贝。

java数组浅谈
6.在java中,有一个工具类叫 Arrays,可以对数组进行多种操作,包含sort,binarySearch,equals等等。

以上。