【小雨学编程之C#】18.7 复杂数据类型-数组

【小雨学编程之C#】18.7 复杂数据类型-数组
文章图片
之前的内容中我们学会了简单数据类型 , 我们可以使用简单数据类型来表示现实生活中的事物 , 比如学生名字、学生成绩 。
但是 , 在大量编程过程中 , 我们发现 , 如果对应数据过多的话 , 会对我们代码的编写造成困扰 。
比如 , 一个班级有6个学生成绩分别为30、33、50、70、80、81 , 我们可以这样写:
inta1=30;
inta2=33;
inta3=50;
inta4=70;
inta5=80;
inta6=81;
将这些成绩分成两组 , 一组30、33、50;一组70、80、81 , 我们用代码可以这样写:
inta1=30;
inta2=33;
inta3=50;
intb1=70;
intb2=80;
intb3=81;
虽然我们用程序是实现了对应的要求 , 但是大家会发现两件事:
1、我们一直在重复的写代码
2、对应的数据每一个都是一个个体 , 并没有体现出是有关系的 , 比如6个学生是一个班级 , 但是我们在第一种写法中只看到了6个变量;比如将6个成绩分成两组 , 我们在第二中写法中也只看到了6个变量 , 只是我们在变量命名过程中做了点文章 , 让他们看起来好像是分组了 , 但是这些数据仍然都是个体 , 彼此之间没有关联关系 。
这种关系 , 有些像 , 我们去超市买鸡蛋 , 我们会看到这样的景象:
【小雨学编程之C#】18.7 复杂数据类型-数组
文章图片
这种情况就如同我们的普通变量 , 都是一个个的个体 , 相互没有关联性 。 这时候我们首先想到的是这么多的鸡蛋 , 我们怎么买呢?买哪几个呢?用什么装呢?这种心理和在代码中遇到一堆的变量心情是一样的 。
但是:
【小雨学编程之C#】18.7 复杂数据类型-数组
文章图片
商家很聪明 , 他们将10个鸡蛋放入一个盒子中 , 让鸡蛋组团出卖 , 这时我们就发现了 , 这组团的鸡蛋彼此就有关联了 , 它们可以一并卖出 , 并且我们不用考虑购买方式和运输方式了 。
就如同组团的鸡蛋一样 , 为了解决零散变量给我们带来的困扰 , C#提供了一种稍微复杂的数据类型来处理它们:数组 。
所谓数组 , 就是一堆数据 , 但是这一堆数据是有要求的:
1、这堆数据一看就是一个整体
2、这堆数据的数据类型都是相同的
简称:一组同类型的数据元素
数据类型的声明:
和使用简单数据类型一样 , 我们使用它之前先要对其声明 , 声明的语法:
数据类型[]数组名;(注:类型后面的是中括号或者方括号)
比如我们声明一个数组 , 存储学生的名字
string[]names;
比如我们声明一个数组 , 存储学生的成绩
int[]scores;
我们注意到声明数组和声明简单数据类型的区别就是 , 声明数组的时候 , 数据类型后面多了一个[] 。
也就是说 , 我们要告诉计算机 , 我们要声明一个数组 , 但是可能系统中有很多数组 , 为了方便区分 , 我们声明数组的同时 , 给这个数组起一个名字 , 并且声明的同时 , 告诉计算机 , 我的这个数组专门存储哪一种类型的数据 。
数据类型的初始化:
数组的声明只是告诉了计算机 , 在这个位置上 , 有一个使用数组的事情要发生 , 那么接下来就是要为这个数组指定元素的类型和数量 , 也就是数组的初始化 。
1、指定数组的大小
int[]scores;
scores=newint[4];
2、也可以声明的同时初始化
int[]scores=newint[4];
3、也可以在初始化的同时给数组赋值
int[]scores=newint[4];