JAVA中的数组

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数组的特点

  1. 数组只能存储同一种 数据类型的数据。
  2. 数组是会给存储到数组中 的元素分配一个索引值的,索引值从0开始,最大的索引值是length-1;
  3. 数组一旦初始化,长度固定。
  4. 数组中的元素与元素之间的内存地址是连续的。

0x06结语

感谢您的阅读,欢迎指正博客中存在的问题,也可以跟我联系,一起进步,一起交流!

微信公众号:进击的程序狗
邮箱:roobtyan@aliyun.com
个人博客:https://roobtyan.github.io

posted @ 2017-10-31 17:46  言立慧  阅读(108)  评论(0编辑  收藏  举报