数组

84 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第5天,点击查看活动详情

数组:

概念:

数组是一种数据类型,是引用类型,其可以存放多个同一类型的数据。

数组的使用方式:

注:第一个中括号可以也可以写在数组名后面。 1. 动态初始化1:

数据类型 [] 数组名 = new 数据类型[大小];

2. 动态初始化2:

第一步:声明数组,此时数组是null(eg.double scores[] ;) ;

第二步:分配内存空间,让其可以存放数据(scores = new double[5];);

3. 静态初始化:

数据类型 []数组名  = {元素值, 元素值,……元素值};

数组的引用(索引/访问/获取数组元素):

数组[下标]

注意:数组的下标是从零开始的,第一个元素的下标为零。

如图所示:

image.png

注意细节:

  • 数组里的数据类型应该相同,或者可以自动转换;
  • 数组中的元素可以是任何数据类型,包括基本类型和引用类型,但是不能混用;
  • 数组创建后,若没用赋值,其会有默认值(int 0;short 0; byte 0;long 0; float 0.0; double 0.0; char \u0000; boolean false; String null);
  • 使用数组的步骤:1.声明数组并分配其内存空间;2.给各个元素赋值;
  • 数组的下标必须在指定范围内,否则会报“数组下标越界的错误”;
  • 数组属于引用类型,数组型数据是对象(此处暂不展开对对象的阐述)。

代码演示:

简单入门: image.png 结果展示: image.png

查找数组内部最大元素(难度稍有提高): image.png

数组赋值机制:

image.png 希望小伙伴们理解的更加透彻,图示如下:

image.png

数组拷贝:

首先创建一个新数组(两者的长度应该是一样的),然后遍历数组一,赋给数组二,要求两个数据空间是独立的,故对数组二的改变,将不会影响到数组一。

数组反转:

将数组内的内容反过来,这里注意要先设置一个临时变量去保存一个要参与交换的元素。

代码演示:

方法一:

image.png 方法二:

image.png

数组的添加(扩充):

通过实现动态的给数组添加元素效果,实现对数组扩容。这里不给予代码演示,和数组拷贝方法二的类似,都是先创建一个新元素,不同之处是new一个新数组时,将其的长度设置为原长度加新添数组元素个数。