05_java数组
数组 (一维数组)
概念:同一种数据类型的集合,其实数组就一个容器
好处:可以自动给数组中的元素从0开始编号,方便操作这些元素
格式1:元素类型[ ] 数组名 = new 元素类型[ 元素个数 ]
int[ ] a = new int [3];
格式2:元素类型[ ] 数组名 = new 元素类型[ ] {元素,元素,元素.....}
int[ ] a = new int []{ 3, 2, 5, 6,};
int[ ] a = { 3, 2, 5, 6,};//简写
内存结构
栈内存: 用于储存局域变量,数据使用完,所占空间会自动释放
● 定义了名称为arr的二维数组
● 二维数组中有3个一维数组
● 每一个数组中有2个元素
● 一维数组的名称分别为 arr[0] arr[1] arr[2]
格式2: int[][] arr = new int [3] [ ]
● 二维数组中有3个一维数组
● 每个一维数组都是默认初始化值null
● 可以对3个一维数组分别初始化
堆内存: ● 数组和对象,通过new建立的实例都存放在堆内存中
● 每一个实体都有内存地址值
● 实体中的变量都有默认的初始化值 =0
● 实体不在被使用,会在不确定时间内被垃圾回收器回收
获取长度:不知道数组用元素的个数,可以用「数组名+.length」来获取
折半查找:调高效率;但是比较保证数组是有序的
● 每一个实体都有内存地址值
● 实体中的变量都有默认的初始化值 =0
● 实体不在被使用,会在不确定时间内被垃圾回收器回收
获取长度:不知道数组用元素的个数,可以用「数组名+.length」来获取
折半查找:调高效率;但是比较保证数组是有序的
二维数组
格式1: int [] [] arr = new int [3] [2]
格式1: int [] [] arr = new int [3] [2]
● 定义了名称为arr的二维数组
● 二维数组中有3个一维数组
● 每一个数组中有2个元素
● 一维数组的名称分别为 arr[0] arr[1] arr[2]
格式2: int[][] arr = new int [3] [ ]
● 二维数组中有3个一维数组
● 每个一维数组都是默认初始化值null
● 可以对3个一维数组分别初始化
arr[0]= new int [3]
arr[1]= new int [5]
arr[2]= new int [2]
arr[1]= new int [5]
arr[2]= new int [2]