2020-03-27

Day 10 数组

1、创建数组

1.1概念及定义方式

概念:一组连续的内存空间,存储多个相同数据类型的值。

注意点:

1),内存连续。

2),数据类型一致。4类8种基本类型:int,byte,short,long,double,float,char,boolean;引用类型 。

3),数组属于引用类型的数据。

1.2、数组的创建

图1:数组的基本定义方法

1.3、数组创建方法汇总。

动态创建数组:先创建数组,然后再根据下标一个一个存储数据。

A:先声明,再创建(分配内存空间)

数据类型 [] 数组名;

数组名 = new 数据类型[长度];

B:声明并创建

数据类型 [] 数组名 = new 数据类型[长度];

数据类型  数组名[] = new 数据类型[长度];

//静态创建数组:声明,创建,赋值一起写完。

C:声明,创建,并赋值

数据类型[] 数组名 = {数值1,数值2,数值3,数值4.。。。};

//=左边声明数组,=右边,会先根据{}中数据的个数,然后再将{}中数据,按照顺序存储进去。

完成了几件事:

1.先声明:int[] c

2.根据{}中数组值的个数,开辟堆内存。

3.将{}中的数组值,依次按照顺序存入数组中。

D:声明,创建,并赋值。

数据类型[] 数组名 = new 数据类型[]{数值1,数值2,数值3,数值4.。。。}

1.4、数组中的默认值

数组的默认值,就是数组创建后,里面存储的默认的数据。数组的引用存在栈内存中,数组本身存在堆内存中。

数组创建完,就有默认的数据了。

数组中存储的默认值:

整数:0

小数:0.0

字符:\u0000

布尔:false

其他:null

2、数组的使用

2.1 使用数组中元素的方法:

数组名[index],index:下标,固定从0开始的。0,1,2,3.。。到长度减1。对数组的操作其实是对数组中元素的索引值进行操作。

常见报错:ArrayIndexOutofBoundsException,数据下标越界异常。

图2:素组的使用

2.2、数组作为方法的参数

数组是引用类型:传递的是地址。就是参数也会指向这块内存。当方法结束的时候,参数就销毁了。

图4:数组作为参数

2.3、数组作为方法的返回值

图5:数组作为返回值

例题解析

图6:例题解析

2.4可变长参数

图7:可变长参数
图8:可变长参数的使用


3、数组的相关使用

3.1数组的遍历

数组的遍历::依次访问,从第一个元素,访问到最后一个元素。数组的遍历方法有两种1:for循环法 图9 。2:增强for循环(for-each)法 图10。

图9:普通for循环法
图10:增强for循环法


3.2、 数组的排序

排序:数组是存储一组数据,而且这些数据是有顺序的。但是数值本身可能是无序的。通过算法来实现给数组进行排序,升序(数值从小到大),降序(数值从大到小)。常用的排序法有冒泡算法;JDK法;选择排序法……

3.2.1冒泡算法

图11:冒泡算法

你可能感兴趣的:(2020-03-27)