数组

160 阅读2分钟

一、数组

1.定义

大小固定的同类型元素的集合。一旦定义就不能修改数组长度。
数组是引用类型
定义语法: 数组类型[] 数组名;
eg: int[] a;

2.初始化

2.1 静态初始化

初始化时为数组的每个元素赋值,由系统决定数组的长度
eg: int[] array = {1,2,3,4,5};

2.2 动态初始化

初始化时指定数组长度,由系统为数组元素分配初始值
eg: int[] array = new int[10];

3.数组操作

3.1 访问数组

获取数组长度 数组名.length
eg: int[] list=new int[10];
        int size=list.length;

3.2 数组元素存取

通过下标进行存取

3.3 数组便利

通过for循环进行遍历

4.数组的内存原理

数组变量存储了数组对象的首地址,存储在栈内存中,并指向数组对象
数组对象存储在堆内存中的连续内存空间内。

二、二维数组

1.声明

eg:int [][] array;

2.初始化

2.1 静态初始化

eg1:
array=new int[][]{
{1},{2,3}, {4}
};
eg2:
int [][]array={
{1},{2,3}, {4}
};

2.2 动态初始化

eg:
array=new int[3][2];
array[0]={1,2};
array[1]={3,4};
array[2]={5,6};

3.锯齿数组

每行长度不同的数组称为锯齿数组
### 3.1 静态初始化
eg:
int [][]array={
{1,2,3,4,5},{2,3,4,5}, {3,4,5},{4,5},{5}
};
### 3.2 动态初始化
eg:
array=new int[3][2];
array[0]=new int[5];
array[1]=new int[4];
array[2]=new int[3];
array[3]=new int[2];
array[4]=new int[1];

三、方法

1.定义语法

修饰符 返回值类型 方法名([参数类型,参数名1,参数类型  参数名2,...]){
​	方法体
​	return 返回值
}
说明:
修饰符:包括访问权限的修饰符、静态修饰符static、最终修饰符final
return 返回值:方法没有返回值时必须为void

2、方法的重载

重载:方法名相同,但形参列表不同的方法。调用重载的方法时,java编译器会根据实参列表寻找最匹配的方法进行调用
歧义调用:调用一个方法时,出现两个或多个可能的匹配时,编译器无法判断哪个是最精确的匹配,则会产生编译错误。