一、使用数组进行基本运算:
1:理解数组
在java中,数组是用来存储一组相同类型数据的数据结构,当数组初始化完毕后,java为数组在内存中分配一段连续的空间,其在
内存中开辟的空间也将随之固定,此时数组的长度就不能再发生改变。即使数组中没有保存任何数据,数组所占据的空间依然存在。
2:定义数组
定义数组的语法有两种:
数据类型[ ]=new 数据类型 [ 数组长度 ];
或者:
数据类型 数组名 [ ] =new 数据类型 [ 数组长度 ];
→ [ ] 表示定义了一个数组,而不是一个普通的变量;
→ [ 数组长度] 决定连续分配的空间的个数,通过数组的length 属性可获取此长度;
→ 定义数组时一定要指定数组名和数组类型;
→ 数组的数据类型用于确定分配的每个空间大小
3:数组元素的表示与赋值:
由于定义数组时内存分配的是连续空间,所以数组元素在数组里的顺序排列编号,该编号即元素下标,它标明了元素在数组中的位置。首
元素的编号为0,因此,数组的下标依次为0、1、2、3......依次递增,数组中的每个元素都可以通过下标来访问。
4:数组的初始化:
数组初始化的语法格式:
数据类型 [ ] 数组名={ 值1,值2,值3 ,.... 值n } ;
或者:
数据类型 [ ] 数组名 = new 数据类型 [ ] { 值1,值2,值3 ,.... 值n }
5:遍历数组:
在编写程序时,数组和循环往往结合在一起使用,可以大大地简化代码,提高程序编写效率。通常使用for循环遍历数组。
6:使用数组计算成绩:
实现步骤:
(1)定义一个长度为5的整型数组
(2)定义两个fioat类型变量,用于保存总成绩、平均分,初始值均为0
(3)定义两个int 类型变量,用于保存最高分和最低分,初始值均为0
(4)从控制台接收5名学生的成绩
(5)通过循环使数组的5个元素相加得到总成绩
(6)通过循环遍历数组并比较元素的大小,得到最高分和最低分
日常使用数组的开发中,除了定义、赋值和遍历操作之外还有数组添加、数组修改、数组删除等操作。
二、二维数组:
定义一个二维数组的关键代码:
int [ ] scores ; // 定义二维数组
scores = new int [5] [50] //分配内存空间
或者
int [ ] [ ] scores = new int [5] [50]
二维数组实际上是一个一维数组,它的每一个元素又是一个一维数组。
二维数组的使用:
二维数组也可以进行初始化操作,与一维数组类似,同样可以采用两种方式,需要注意大括号的结构以及书写顺序。
关键代码:
int [ ] [ ] scores = new int [] [] { {.....}, {......} ,{.} } ;
或者:
int scores [] [] ={ {.....}, {......} ,{.} } ;
Arrays 类的应用:
Arrays 提供了一系列的方法来操作数组,用户直接调用这些方法即可,不用自己编码实现。
Arrays类的 equals ( ) 方法用于比较两个数组是否相等。只有两个数组长度相等,对应位置的元素也一一相等时,该方法返回true;否则返回false。
Arrays 类的sort()方法对数组的元素进行升序排列,即以从小到大的顺序排列。
Arrays 类中提供了专门输出数组内容的方法-----toString() 方法。该方法用于将一个数组转换成一个字符串。它按顺序把多个数组元素连在一起,多
个数组元素之间使用英文逗号和空格隔开。利用这种方法可以很清楚地观察到各个数组元素的值。
Arrays类的fill(array,val)方法用于把数组array 的所有元素都赋值为val。
Arrays类的binarySearch() 方法用于查询数组元素在数组中的下标。调用该方法时,要求数组中的元素已经升序排列,这样才能得到正确的结果。