Java复习总结06——数组

什么是数组?

数组是系统类型的数据按顺序组成的一种引用数据类型,Java 语言中提供的数组是用来存储固定大小的同类型元素。

这里主要说一下一维数组

首先是数组的声明创建

int[] arr;//形如   数据类型[] 数组名; 这样的形式就声明了一个数组
int arr[];//这样声明数组也是可以的,但不推荐,C/C++经常使用这种声明

int[] arr = new int[10];//在声明时候创建一个数组,这里数组长度为10,也就是里面可以有10个元素
/*当然也可以分开,如果你还没有想好数组的长度,可以先声明,在需要的时候在进行创建*/
int[] arr;
arr = new int[10];

然后是数组的初始化,数组的初始化分为静态初始化和动态初始化;

1.静态初始化:在定义数组的同时为数组的每一个元素赋值

/*静态初始化:在定义数组的同时为数组的每一个元素赋值*/
1.类型[] 数组名 = new 类型[]{元素1,元素2,元素3,.......};
2.类型[] 数组名 ={元素1,元素2,元素3,.......};
//为了简洁起见,一般采用第二种方式
//注:以下静态初始化的方式是错误的
int[] arr = new int[3]{1,2,3};//既然是静态初始化数组,就不用再说明数组长度

2.动态初始化:定义数组时只指定数组长度,由系统为数组的元素赋初值,初值由数组元素的类型决定,并不是说动态初始化了一个数组,里面什么都没有,是有初始值的。

/*动态初始化:定义数组时只指定数组长度,由系统为数组的元素赋初值*/
类型[] 数组名 = new 类型[数组长度];
int[] arr = new int[3];
double[] d = new double[5];
/*初值由数组元素的类型决定,并不是说动态初始化了一个数组,里面什么都没有,是有初始值的。可以试着打印以下,如:*/
System.out.println(arr[2]);//结果为int类型的初值,0

数组的索引(也叫下标,角标):从0开始,到数组长度-1结束,即数组第一个元素的索引为0,第二个为1.....依此类推。所以这个元素是不存在的 arr[arr.length],索引最大值为length-1,超过了回报出数组超限的异常。

注意:1.数组的长度是一种属性,而不是方法所以不要再length后面加小括号,如:arr.length()是错误的。这里和String的长度不同,String的长度用size()这个方法来获取,如:str.size(),

           2.注意索引范围,不要超限,在遍历,排序等操作时经常会出现这类错误。

猜你喜欢

转载自blog.csdn.net/qq_34136901/article/details/83351852