java数组
- 数组的定义
- 数组的特点
- 访问数组
- 数组的长度
- 多维数组
**
数组的定义
定义:数组是存储在一个连续的内存块中的元素集合。
一个放东西的容器。
集合可以放多种类型的东西
数组是集合的特例,同种类型的东西,使用连续的内存块。
**
数组的特点
**
特点:
1.每个元素是相同的数据类型。
2.数组的下标从0开始。
3.数组定义后,内存中元素存放时是连续的
4.数组的大小,需在定义时,固定长度,一旦确定将无法修改
作用:数据类型变量可以同时存储多个类型基础类型变量或引用数据类型变量。
引用数据类型,初值为null
实例:数组名=new int[20]
创建数组:
声明一个数组变量
1.
语法:数据类型[] 数组变量名;
数据类型 数组变量名[]
数组变量名=new 数据类型[]
指定数组长度
如:
int[] nums=new int[20];
int nums[]=new int[20];
访问数组
通过数组下标访问数组的值,下标0,1,2
nums[0]代表数组中的第一个数,下标从0开始
数组初始化
在定义数组变量时,即给数组声明长度以及确定内容,这种方式在Java中被称为数组初始化。
String[] names={"张三","李四","王五"}
这种方式,也需要在底层,先通过new关键字,来创建一个数组,然后使用循环来完成数组赋值。
这种方式,适用场景是小数组,内容不多的情况下推荐大家使用。
Person[] persons={new Person("张三"),new Person("李四")}
有引用但没有名字的对象,取名为匿名对象
可以使用Arrays工具输出数组
Arrays.toString(persons);
遍历数组
我们可以通过循环的方式遍历数组。
如上面nums数组:
for(int i=0;i<length;i++){
System.out.println("第"+i+"个数是"+nums[i]);
}
引用数组
我们使用索引表达式来引用对象,从而代替一个引用变量。
数组的长度
数组长度无法修改
ArrayIndexOutOfBoundsException数组下标越界
length属性,数组的大小
试图调用空对象的属性或方法时,会报空指针异常
引用数据类型,为4个字节.初始化为null
person[] persons=new person[3];
persons[0].setName();
多维数组
二维数组
二维数组本质上是以数组作为数组元素的数组,即“数组的数组”。表现形式为二维表格由行和列组成。从数学上说是由x,y轴组成。
初始化一个二维数组
int[][] excel=new int[5][5];
创建一个五行五列的表格,可存放行*列即25个数据。
初始化二维数组:
int[][] arrays=new int[5][5];
for(int i=0;i<arrays.length;i++)//每一行
{
for(int j=0;j<arrays[i].length;j++){//每一行中的每列
arrays[i][j]=i+j;
}
}
复制数组
system中的arraycopy类可用于复制数组
aaraycopy(源数组,源数组起始位置,目标数组,目标数组复制的起始位置,代表源数组中需要复制的个数)
如:在上面的names数组中添加一个“赵四”
int[] newNames=new int[4];
System.aaraycopy(names,0,newNames,0,3);
newNames[3]="赵四";
names=newNames;