一维数组
数组的定义:
格式:数据类型[] 数组名;
初始化:必须对数组变量进行初始化才能使用
初始化数组的方式:
1、动态初始化
1)动态初始化的第一种方式:
需要借助new关键字为数组元素分配内存空间,不赋初值
格式:数据类型[] 数组名=new 数据类型[数组长度]
在不赋初值的情况下,每个内存空间是有默认值的,
int 类型数组,默认为0,bool默认为false
字符串类型默认为null
定义一个整数型数组,并初始化
int[] array = new int[5];
定义一个字符型数组,长度为10,并初始化
char[] array = new char[10];
定义一个单精度浮点型数组,并初始化
float[] array = new float[6];
定义一个字符串型数组,并初始化
string[] array = new string[8];
2) 动态初始化的第二种方式:
在初始化过程中,赋初始值
数据类型[] 数组名=
new 数据类型[数组长度] {元素1,元素2...};
如果指定了数组的长度,元素的个数一定要和长度一样
3)动态初始化的第三种方式:
不指定数组的长度,只指定数组的存储内容
格式:数据类型[] 数组名=
new数据类型[]{元素1,元素2...}
当前数组的长度根据初始话赋值元素的个数而决定
定义数组,长度为5,输出效果为xxx的血量为xxx?(用动态初始化的三种方式和静态初始化)
1、 string[] agearray = new string[5] { "盖伦", "亚索", "寒冰", "阿卡丽", "剑圣" };
int[] array = new int[5] { 80, 90, 50, 60, 30 };
for (int i = 0; i < 5; i++)
{
Console.WriteLine("{0}的血量是{1}", agearray[i], array[i]);
}
2、 string[] agearray1 = new string[] { "盖伦", "亚索", "寒冰", "阿卡丽", "剑圣" };
int[] array1 = new int[] { 80, 90, 50, 60, 30 };
for (int i = 0; i < 5; i++)
{
Console.WriteLine("{0}的血量是{1}", agearray1[i], array1[i]);
}
3、
string[] agearray2 = new string[5];
int[] array2 = new int[5];
agearray2[0] = "盖伦";
agearray2 [1]= "亚索";
agearray2 [2]= "寒冰";
agearray2 [3]= "阿卡丽";
agearray2[4] = "剑圣";
array2[0] = 80;
array2[1] = 90;
array2[2] = 50;
array2[3] = 60;
array2[4] = 30;
for (int i=0;i<5;i++)
{
Console.WriteLine("{0}的血量是{1}",agearray2[i],array2[i]);
}
2、静态初始化
不用借助new关键字,直接赋值,默认以数组初始值的个数为数组长度
格式:数组类型[] 数组名={元素1,元素2...};
切记:数组一定要指定存储空间大小,不管通过指定长度或者指定具体元素,否则会报错
数据元素的访问:是通过 数组名[下标];
下标可以是常量,也可以是变量,一定是Int类型
切记:数组访问时,下标不能超过数组长度-1,否则执行报错数组越界
获取数组的长度:数组名.Length
string[] agearray1 = { "盖伦", "亚索", "寒冰", "阿卡丽", "剑圣" };
int[] array1 = { 80, 90, 50, 60, 30 };
for (int i = 0; i < 5; i++)
{
Console.WriteLine("{0}的血量是{1}", agearray1[i], array1[i]);
}
二维数组
1、定义
格式:数据类型[,] 数组名;
二维数组初始化,数组初始化后才能使用
a、动态初始化
通过new关键字,来开辟数组的内存空间
数据类型[,] 数组名=new 数据类型[行数,列数];
b、静态初始化
二维数组元素访问
数组名字[行下标,列下标]
获取二维数组所有元素的个数
数组名.Length
获取二维数组的行数:数组名.Getlength(0)
获取二维数组的列数:数组名.Getlength(1)
字符串是一维数组,字符类型
编写一个程序定义一个二维数组arr,该数组一共4行3列,
利用循环显示第0行所有的元素
利用循环求第2行所有元素的和
int sum = 0;
int[,] arr = new int[4, 3] { { 180, 2, 71 }, { 91, 139, 20 }, { 123, 44, 92 }, { 21, 87, 14 } };
for (int j = 0; j < arr.GetLength(1); j++)
{
Console.Write(arr[0, j] + " ");
}
Console.WriteLine();
for (int j = 0; j < arr.GetLength(1); j++)
{
Console.Write(arr[2, j] + " ");
sum = sum + arr[2, j];
}
Console.WriteLine();
Console.WriteLine("和为{0}", sum);
foreach(迭代变量 in 集合){
循环体
}
遍历数组所有元素的集合
迭代变量类型和集合中存放元素的类型一样
定义一个二维数组,该组一共1行5列,用foreach遍历数组
求其元素之积
int a = 1;
int[] arr = { 1, 2, 3, 4, 5 };
foreach(int i in arr)
{
Console.WriteLine(i);
a = a * i;
}
Console.Write("积为{0}",a);