一.数组的概述
1、什么是数组
1)、数组是一个引用数据类型。
2)、 数组中存放一组相同数据类型的数。
2、数组的存储结构
1)、 数组在内存分配相同大小的连续空间存储数组中的数据。
2)、数组的大小是固定不变的
3)、 数组名中存放数组首元素的"地址"
4)、数组中的元素有下标。下标从0开始。
5)、访问某个元素格式为:数组名[下标]
6)、数组长度属性:length。最大下标为:length-1
6)、数组的下标不能超过数组的最大下标,否则引发异常:java.lang.ArrayIndexOutOfBoundsException;
二.数组的优缺点
1、数组的优点
数组在内存中连续存储数组元素,因此遍历数组元素的速度快
2、数组的缺点
随机添加和删除的速度慢
数组的大小固定。因此当存放的数据多于元素的大小的,需要对原数组进行扩容与复制
三.一维数组
1、创建一维数组的语法
数据类型 []数组名 = new 数据类型[大小];
2、分析基本类型一维数组和引用类型的一维数组的内存分析
2.1 基本类型一维数组中的每个元素存放的是值
2.2 引用类型数组中的每个元素存放是所引用对象的"地址"
3、一维数组的赋值方式
3.1 一个元素一个元素的赋值
3.2 使用循环依次给每个元素录入值
3.3 在定义数组时直接赋值
4、一维数组的遍历
四.main方法的args参数
1、使用java命令给main方法传参
java 类名 值1 值2 值3
2、在eclipse中运行程序时给main方法传参
2.1、点击工具栏中的Run按钮
2.2、在弹出的界面中选择并点击Arguments
2.3、在弹出的Program arguments框里填写参数,多参数以空格隔开。
2.4 最后点击Run运行即可!运行的结果为:
五.一维数组的扩容和拷贝
1、使用System.arraycopy()方法
1)方法的原型:
public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
2)方法参数的含义:
-->src- 源数组。
-->srcPos- 源数组中的起始位置。
-->dest- 目标数组。
-->destPos- 目标数据中的起始位置。
-->length- 要复制的数组元素的数量。
2、使用Arrays.copyOf()方法实现数组的复制与扩容
1) 方法的原型
public static int[] copyOf(int[] original, int newLength)
2)方法的参数
-->original- 要复制的数组
-->newLength- 新数组的长度
3)方法的返回值
-->返回复制后的新数组
3、自己编写代码实现数组的复制与扩容
六.二维数组(代码中我们常用二维数组)
1、二维数组的概念
以一维数组为元素的一维数组。
2、二维数组的定义:
数据类型 [][] 数组名 = new 数据类型[大小][元素所引用的一维数组的大小]
3、二维数组如何赋值和遍历