一、数组的定义
1.概念
同一种类型数据的集合。其实数组就是一个容器。
2.数组的好处
可以自动给数组中的元素从0开始编号,方便操作这些元素。
3.格式1:
元素类型[] 数组名 = new 元素类型[元素个数或数组长度];
或:元素类型 数组名[] = new 元素类型[元素个数或数组长度];
示例:int[] arr = new int[5];
int arr[] = new int[5];
4.格式2:
元素类型[] 数组名 = new 元素类型[]{元素,元素,……};
示例:int[] arr = new int[]{3,5,1,7};
int[] arr = {3,5,1,7};
二、数组的内存分配及特点
1.数组内存分配
用于存储局部变量,当数据使用完,所占空间会自动释放。
1.2堆内存
1)数组和对象,通过new建立的实例都存放在堆内存中。
2)每一个实体都有内存地址值
3)实体中的变量都有默认初始化值
4)实体不在被使用,会在不确定的时间内被垃圾回收器回收
三、数组操作常见问题
四、数组常见操作
1.获取最值(最大值,最小值)
2.排序(选择排序,冒泡排序)
3.折半查找(二分查找)
五、二维数组
1.格式1:int[][] arr = new int[3][2];
1)定义了名称为arr的二维数组
2)二维数组中有3个一维数组
3)每一个一维数组中有2个元素
4)一维数组的名称分别为arr[0], arr[1], arr[2]
5)给第一个一维数组1脚标位赋值为78写法是:arr[0][1] = 78;
2.格式2:int[][] arr = new int[3][];
1)二维数组中有3个一维数组
2)每个一维数组都是默认初始化值null
3)可以对这三个一维数组分别进行初始化
arr[0] = new int[3];
arr[1] = new int[1];
arr[2] = new int[2];
3.格式3:int[][] arr = {{3,8,2},{2,7},{9,0,1,6}};
1)定义一个名称为arr的二维数组
2)二维数组中有三个一维数组
3)每一个一维数组中具体元素也都已初始化
4)第一个一维数组 arr[0] = {3,8,2};
5)第二个一维数组 arr[1] = {2,7};
6)第三个一维数组 arr[2] = {9,0,1,6};
7)第三个一维数组的长度表示方式:arr[2].length;