0x01 什么叫做数组?
数组:是存储同一种数据类型的集合容器
0x02 数组的初始化方式
1 动态初始化
方法:数据类型[] 数组名 = new 数据类型[数组长度]
例如:
int[] arr = new int[100];
上面的这条语句定义了一个长度为100的整型数组。当然我们也可以采用像在c语言中定义数组的方式,不过在java中并不常用,在此不再介绍。
2 静态初始化
方法:数据类型[] 数组名 = {数据元素}
例如:
int[] arr = {1,2,3,4...}
注:如果数组在一开始就确定了大小,那么这时候建议使用静态初始化。
0x03 匿名数组
直接进行初始化:
new int[] {1,2,3,4,5};
这时候可以直接用一开始定义的arr数组指向
arr = new int[] {1,2,3,4.....}
0x04 数组的复制
我们可以设置一个数组
int[] arr = new int[100];
int[] arr1 = arr;
此时arr中的元素全都是0,实际上arr1与arr指向的是痛一个数组,如果修改arr[0]时,arr[0]与arr1[0]的值是相等的。
那么应该如何做到真正的复制一个数组呢?
这时候就需要用到Arrays类中的copyOf方法,利用这个方法,就可以将数组进行复制。如:
int[] arr1 = Arrays.copyOf(arr,arr.length);
arr.length获得的是数组的长度,这样就可以做到数组的复制了。
0x04 多维数组
其实,多维数组的定义及初始化方式和一维数组是类似的
静态初始化:
数据类型[][] 变量名 = {{元素1,元素2...},{元素1,元素2...},{元素1,元素2...} ..}
动态初始化:
数据类型[][] 变量名 = new 数据类型[大小][大小]
0x05数组的特点
- 数组只能存储同一种 数据类型的数据。
- 数组是会给存储到数组中 的元素分配一个索引值的,索引值从0开始,最大的索引值是length-1;
- 数组一旦初始化,长度固定。
- 数组中的元素与元素之间的内存地址是连续的。
0x06结语
感谢您的阅读,欢迎指正博客中存在的问题,也可以跟我联系,一起进步,一起交流!
微信公众号:进击的程序狗
邮箱:roobtyan@aliyun.com
个人博客:https://roobtyan.github.io