数组

1,理解数组
在Java中,数组是用来存储一组相同类型数据的数据结构,当数组初始化完毕后,Java为数组在内存中分配一段连续的空间,其在内存中开辟的空间也将随之固定,此时数组的长度就不能再发生改变,即使数组中没有保存任何数据,数组所占据的空间依然存在
2,定义一维数组
在Java中,定义数组的语法:
数据类型 [] 数组名 = new 数据类型[数组长度];
数据类型 数组名 [] = new 数据类型[数组长度];
注意:
(1),定义数组时一定要指定数组名和数组类型
(2),必须书写"[]",表示定义了一个数组,而不是一个普通的变量
(3),"[数组长度]“决定连续分配的空间的个数,通过数组的length属性可获取此长度
(4),数组的数据类型用于确定分配的每个空间的大小
3,一维数组元素的表示与赋值
由于定义数组时内存分配的是连续的空间,所以数组元素在数组里顺序排列编号,该编号即元素下标,它标明了元素在数组中的位置,首元素的编号规定为0,因此,数组的下标依次为0,1,2,3,,,依次递增,每次的增长数是1,数组中的每个元素都可以通过下标来访问
获得数组元素的语法格式:数组名[下标值]
4,一维数组的初始化
数组初始化就是在定义数组的同时一并完成赋值操作
数组初始化的语法格式:
数据类型 [] 数组名 = {值1,值2,,,值n};
数据类型 [] 数组名 = new 数据类型[]{值1,值2,,,值n};
5,遍历一维数组
在编写程序时,数组和循环往往结合在一起使用,可以大大的简化代码,提高程序编写效率,通常使用for循环遍历数组
JDK1.5之后提供了增强for循环语句,用来实现对数组和集合中数据的访问,增强for循环的语法:
for(元素类型 变量名:要循环的数组或集合名){,,,}(第一个元素类型是数组或集合中元素的类型,变量名在循环时用来保存每个元素的值,冒号后面是要循环的数组或集合名称)
在日常使用数组的开发中,除了定义,赋值,遍历操作之外,还有对数组的添加,修改,删除操作
注意:数组是编程中常用的存储数据的结构,数组下标从0开始,而不是从1开始,如果访问数组元素时指定的下标小于0,或者大于等于数组的长度,都将出现数组下标越界异常
6,定义二维数组
Java中定义和操作多维数组的语法和一维数组类似,在实际应用中,主要使用二维数组
二维数组的语法格式:
数据类型 [][] 数组名;
数据类型 数组名 [][];
二维数组实际上是一个一维数组,它的每个元素又是一个一维数组
注意:
1,数据类型为数组元素的类型
2,”[][]"用于表明定义了一个二维数组,通过多个下标进行数据访问
7,二维数组的使用
1,初始化二维数组
语法格式如下:
数据类型 [][] 数组名 = new 数据类型[][]{{值,,}{值,,}{值,,}};
数据类型 数组名 [][] = {{值,,}{值,,}{值,,}};
2,二维数组的遍历
8,Arrays类
JDK中提供的一个专门用于操作数组的工具类,该类提供了一系列方法来操作数组,如排序,复制,比较,填充等,可以直接调用这些方法,不需要自己编码实现,降低了开发难度
9,Arrays类的应用
1,比较两个数组是否相等
Arrays类的equals()方法用于比较两个数组是否相等,只有当两个数组长度相等,对应位置的元素也一一相等时,该方法返回true,否则返回false
2,对数组的元素进行升序排列
Arrays类的sort()方法对数组的元素进行升序排列,即以从小到大的顺序排列
3,将数组转换成字符串
Arrays类中提供了专门输出数组内容的方法:toString()方法,该方法用于将一个数组转换成一个字符串,它按顺序把多个数组元素连在一起,多个数组元素之间使用英文逗号和空格隔开,这种方法可以很清楚地观察到各个数组元素的值
4,将数组所有元素赋值为相同的值
Arrays类的fill(array,val)方法用于把数组array的所有元素都赋值为val
5,将数组复制成一个长度为设定值的新数组
Arrays类的copyOf(array,length)方法可以进行数组复制,把原数组复制成一个新数组,其中length是新数组的长度,如果length小于原数组的长度,则新数组就是原数组的前面length个元素,如果length大于原数组的长度,则新数组前面的元素就是原数组的所有元素,后面的元素按数组类型补充默认的初始值
6,查询元素在数组中的下标
Arrays类的binarySearch()方法用于查询数组元素在数组中的下标,调用该方法时要求数组中的元素已经按升序排列

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值