Java复习小结(一)——数组

时间:2019-01-17
本文章向大家介绍Java复习小结(一)——数组,主要包括Java复习小结(一)——数组使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

问题引入

现在需要统计某项目组员工的工资情况,例如需要统计平均工资、最高工资。最低工资等,假如有5名员工你会怎样解决?如果人数变为60人甚至更多人呢?

数组概念

1、数组是存储同一种数据类型多个元素的集合,也可以看成是一个容器,特点是有多个元素并且元素类型相同

2、数组既可以存储基本数据类型,也可以存储引用数据类型

3、数组属于引用类型,可以理解为对象(Object),数组中的每个元素相当于该对象的成员变量

4、数组一旦初始化长度不可变,数组长度:数组名.length

数组的定义格式

格式一:数组类型[]  数组名;

格式二:数组类型   数组名[];

这两种定义做完了数组中没有是没有元素值的

数组初始化

概述

1、Java中的数组必须先初始化然后才能使用

2、所谓的初始化:就是为数组中的数组元素分配内存空间,并为每个数组元素赋值

初始化方式

动态初始化:初始化时只指定数组长度,由系统为数组分配初始值

格式:数据类型[]   数组名 = new  数据类型[数组长度];,数组长度其实就是数组中元素的个数,每个数组都有一个属性length指明它的长度。例如:int[]  arr =  new  int[3];,定义了一个int类型的数组,这个数组中可以存放3个int类型的值

输出数组中的元素值:数组中的每个元素都是有编号的,并且从0开始。最大编号是数组的长度-1。数组名和编号的配合就可以获取数组中的指定编号的元素。这个编号的专业叫法是索引(下标)。通过数组名访问数据的格式是:数组名[下标]。

静态初始化:初始化时指定每个元素的初始值,由系统决定数组长度

格式:数据类型[]   数组名 = new  数据类型[]{元素1,元素2,...};  ,例如:int[]  arr  =  new int[]{1,2,3};,这就定义了一个int类型的数组,这个数组中可以存放3个int类型的值,并且值分别为1,2,3。这还可以简写为int[]   arr  =   {1,2,3};

常见问题

数组索引越界

ArryIndexOutOfBoundsException,访问到了数组中的不存在的索引时发生

空指针异常

NullPointerException,数组没有指向实体,却在操作实体中的元素。

数组常见操作

1、数组遍历(依次输出数组中的每一个元素),增强for循环、普通for循环、while。

2、数组获取最值(获取数组中的最大值最小值)

3、数组元素逆序

4、数组元素查找(查找指定元素第一次在数组中出现的索引)

5、数组排序:冒泡排序、选择排序等

二维数组

二维数组概述

二维数组就是一个元素为一维数组的数组

二维数组定义格式

格式一:数据类型[][]  变量名  =  new  数据类型[m][n];  m表示这个二维数组有多少个一维数组,n表示每一个一维数组的元素个数。举例:int[][]  arr  =  new  int[3][2];  定义了一个二维数组arr,这个二维数组有3个一维数组,名称是arr[0],arr[1],arr[2],每一个一维数组有两个元素,可以通过arr[m][n]来获取,表示获取第m+1个元素

格式二:数据类型[][]  变量名  =  new  数据类型[m][];

格式三:数据类型[][]  变量名  =  new  数据类型[][]{{元素..},{元素...},{元素...}}

二维数组遍历