一维数组!

数据结构概述

数据结构是计算机存储、组织数据的方式。

数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往同高效的检索算法和索引技术有关。

数据结构的出现是为了在计算机种更加科学的管理数据,选择合适的数据结构可以让我们在操作数据时性能更加优秀,操作更加方便。

常用的数据结构分为线性结构非线性结构

1、线性结构(线性表):数组,队列,链表,栈等。

2、非线性结构(非线性表): 树,图等。

参考文献:

《大话数据结构 精编版 彩装》

《漫画算法2:小灰的算法进阶》

数组概述

由于的单一变量存储无法解决大量的数据存储,因此我们需要更好的一种方式来进行存储大量数据。

数组是线性数据结构中最为基础,最为典型的一种顺序型结构。

它用一组 连续的内存空间 ,来存储一组具有 相同类型 的数据。

与变量相比,变量是一种单一的数据存储方时,而数组是用于存储一连串的一组数据。

数组组成

数组元素:存储在数组中的数据

数据元素类型:在数组中必须是相同类型的数据

数组名:用于区分不同的数组,命名规范同变量一致

数组容量:数组中所存储的数据元素的多少

数组下标/索引:必须从0开始

数组与变量的语法区别:

  • 变量:

变量数据类型 变量名 = 变量值;
  • 数组:

// 声明数组:在内存空间中开辟一串连续的空间
数组的元素类型[] 数组名 = new 数组元素数据类型[数组容量];
// 将数组赋值:将数组元素存储到指定的数组空间中
数组名[数组下标] = 元素值;
// 从数组中取出数据
数组名[下标]

数组的命名元素

1、数组的元素的数据类型

2、数组元素

3、数组名

4、数组容量

5、数组下标/索引(index)

数组定义

例如:存储五名学生的成绩

// 声明数组:在内存空间中开辟一串连续的空间
double [] scores = new double[5];
// 将数组赋值:将数组元素存储到指定的数组空间中
scores[0] = 80;
scores[2] = 90;
​
// 取出数组的值
scores[2];

注意:数组容量一经定义,无法改变

在声明数组时直接进行赋值:

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

还有一种数组的语法格式:

数组元素数据类型[] 数组名 = new 数组元素数据类型[]{元素值1,元素值2,...};

数组动态赋值

利用数组赋值的规律,采用循环结构进行键盘录入

循环分析:

1、有规律,使用循环,有固定次数 for 循环

2、循环条件: i < 数组容量

循环变量: int i = 0;

循环出口: i++;

3、循环操作:

1、键盘录入数据

2、将数据赋值给数据的指定下标

4、套用语法

数组默认值

未赋值,输出时会显示默认值:

整数型数组(byte、short、int、long):默认值为0

浮点型数组(float、double):默认值为0.0

布尔型数组(boolean):默认值为false

字符型数组(char):默认值为一个空格(\u0000)

字符串型数组(String):默认值为 null

数组的遍历

数据的操作,逃脱不了几个本质:CRUD(增删改查)。

  • 增加数据:数组名[下标] = 元素值;

  • 修改数据:数组名[下标] = 新元素值;

  • 删除数据:数组名[下标] = 数组对应元素类型的默认值;

  • 查询数据:

    • 查询单个数据:数组名[下标]

    • 查询所有的数据:

      • 利用循环将数组中的每一个空间的元素取出来(遍历)。

1、通过循环,遍历所有数组的下标,根据下标取出每个元素(前期使用多)

double[] scores = {90, 80, 70, 60, 50};
// 遍历
// scores[0] = 90;
// scores[1] = 80;
// scores[2] = 70;
// scores[3] = 60;
// scores[4] = 50;
// for (int i = 0; i < 5; i++)
for(int i = 0; i < scores.length; i++){
    System.out.println(scores[i]);
}

2、通过增强for循环来遍历出数据的每一个元素(后期使用多)

for (数组元素数据类型 临时变量名 : 数组名){
    临时变量名
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值