数组笔记
#数组
一.C#中的数组
(一)数组的存储
在C#中,数据就是一个变量,用于将相同数据类型的数据存储在内存当中,也就是说,数组中的每个数据元素都属于同一种数据类型。
在前面,我们已经学过了,声明一个变量就是在内存空间分配一块合适的空间,然后将数据存储在这个空间中。
声明一个数组,就是在内存空间划出一串连续的空间
(二)数组基本要素
(1) . 标识符:数组的名称,用于区分不同的数组
(2) . 数组元素:向数组中存放的数据
(3) . 元素下标:对数组元素进行编号,从0开始,数组中的每个元素都可以通过下标来访问
(4) . 元素类型:数组元素的数据类型
数组长度固定不变,避免数组越界
(三)总结
数组中的所有元素必须属于相同的数据类型
二.如何使用数组【以一维数组为例】
(一)使用数组的四步
1.声明数组
int[] myarr;
2.分配空间
声明数组并不实际创建它们,在C#语言中,使用new关键字创建数组的对象。
myarr = new int[5];
3.赋值
myarr[0] = 1;
4.处理数据
myarr[0]= myarr[0] * 10;
(二)声明数组
告诉计算机数据类型是什么
1. 语法
数据类型[ ] 数组名;
注意:声明数组时不规定数组长度
2. 举例
int score2[ ]; //C#成绩
String[] name; //学生姓名
(三)分配空间
告诉计算机分配几个连续的空间
1.语法
声明与分配空间分离
【int[] myarr; 】
【myarr=newint[5]; 】
声明数组并分配空间
【数据类型[ ] 数组名= new 数据类型[大小] ;】
(四)赋值
向分配的格子里放数据
1.语法
方法1:边声明边赋值
int[] score = { 89, 79, 76 };
int[]score2 =newint[] { 89, 79, 76 }; //不能指定长度
方法2:动态地从键盘上录入信息并赋值
for (int i = 0; i< 6; i++)
{
score[i] = Convert.ToInt32(Console.ReadLine());
}
(五)对数据进行处理
1.访问数组的语法
访问数组成员:使用“标识符[下标]”:
【数组名[下标]】
C#中的数组下标是从0开始的,下标最大值是数组长度减1
2.举例:计算5位学生的平均分
~常规做法
int [ ] score = {60, 80, 90, 70, 85};
double avg;
avg= (score[0] + score[1] + score[2] + score[3] + score[4])/5;
~循环+数组
(六)常见错误
1.为数组分配空间时,没有指明数组大小
int[ ] score= new int[ ]; //编译出错,没有指明数组大小
score[0] =89;
score[1]= 63;
2.数组越界
int[ ] scores = new int[2];
scores[0] =90;
scores[1] =85;
scores[2]= 65; //编译出错,数组越界
3.赋值时机出错
int[ ] score = new int[5];
score = {60, 80, 90, 70, 85}; //正确
int[ ] score2;
score2 = {60, 80, 90, 70, 85}; //编译出错,创建数组并赋值方式必须在一条语句中完成