//数组的英文是Array
//数组的声明和实例化
int[] numArr1; //对数组声明
numArr1 = new int[10]; //对数组的实例化
//下面的数组是在声明数组并实例化后并重新对数组的默认值(元素)进行修改了
int[] numArr2 = new int[5] { 120, 252, 3555, 4, 5 };
//遍历数组的每一个元素
for (int i = 0; i < numArr2.Length; i++)
{
Console.WriteLine(numArr2[i]);
}
int[] numarr3 = { 4, 5, 6, 7, 8, 9 };
//数组 ;一个具有相同数据类型 有序的集合
//数组特点:
//第一个 具有相同的数据类型
//第二个 有序
int[] arr = new int[5]; //声明数组并实例化
//要访问数组的元素,要通过下标来访问
//在声明数组的时候系统会默认的给数组里面的元素进行编号
//编号的规则是必须从0开始,编号最大值是:数组的长度-1
//这个编号 有几个名字 可以称为 索引或者下标
//每一个元素都有一个名字:数组名[索引]
Console.WriteLine(arr[0]);
Console.WriteLine(arr[4]);
//未经处理的异常: System.IndexOutOfRangeException: 索引超出了数组界限。
//Console.WriteLine(arr[5]);
//对数组的修改
arr[3] = 100;
Console.WriteLine(arr[3]);
arr[4] = arr[3];
Console.WriteLine(arr[4]);
Console.WriteLine("------------------");
//我们可以通过 数组名.Length 得到数组的长度
Console.WriteLine(arr.Length);
for (int i = 0; i < arr.Length; i++)
{
Console.WriteLine(arr[i]);
}
Console.WriteLine("-------------统计整型数组的和-----------------");
int[] scoreArr = { 45,922026, 101, 45464465, 1315 };
int totalScore = 0;
for (int i = 0; i < scoreArr.Length; i++)
{
totalScore += scoreArr[i];
}
Console.WriteLine(totalScore);
Console.WriteLine("对数组反转");
//{ 45,922026, 101, 45464465, 1315 };
//{ 1315,45464465, 101, 922026, 45 };
for (int i = 0; i < scoreArr.Length/2; i++)
{
int temp = scoreArr[i];
// 我们应该把scoreArr.Length - 1 看成一个整体 因为scoreArr.Length - 1表示数组的最后一个元素的索引
scoreArr[i] = scoreArr[scoreArr.Length - 1-i];
scoreArr[scoreArr.Length - 1 - i] = temp;
}
Console.WriteLine("-------------遍历反转后的数组-----------");//遍历也就是打印输出每一个元素
for (int i = 0; i < scoreArr.Length; i++)
{
Console.Write(scoreArr[i] +" ");
}
Console.WriteLine();
// 0 1 2 3 4 5 6
// 2 9 4 3 7 6 5
Console.WriteLine("-------------初识字符串---------------");
//字符和字符串的关系是: 羊肉和羊肉串的关系 字符串就是一个只读的字符数组
string str = "abcdefg";
Console.WriteLine(str[3]);
//下面的赋值是错误的 因为字符串是只读的
//str[3] = 'C';
for (int i = 0; i < str.Length; i++)
{
Console.WriteLine(str[i]);
}
//这是一个字符串数组
string[] nameArr = { "林志帆","梁义鹏","王冬","石亚东"};
//这是一个字符串
string ret = "abc";
//这是一个字符
char ch = 'H';
//这是一个字符数组
char[] chArr = { 'B', 'V', 'X' };
Console.WriteLine("*************验证数组是引用类型*********");
//数组是一种引用类型
//值类型
int num1 = 10;
//num1给num2 赋值的过程就是一个复制的过程
int num2 = num1; //num1 在给num2赋值的时候是不会影响num1的值的
Console.WriteLine(num1); //10
Console.WriteLine(num2); //10
Console.WriteLine("------------值类型修改后------");
num1 = 100;
Console.WriteLine(num1); //100
Console.WriteLine(num2); //10
// 引用类型
int[] testArr = { 23, 56, 89, 68, 99 };
int[] testArr2 = testArr;
Console.WriteLine("testArr2 中的元素");
for (int i = 0; i < testArr2.Length; i++)
{
Console.Write(testArr2[i] +" ");
}
Console.WriteLine();
testArr[2] = 1;
Console.WriteLine("testArr2中修改过后的元素");
for (int i = 0; i < testArr2.Length; i++)
{
Console.Write(testArr2[i] + " ");
}
Console.WriteLine();
Console.WriteLine("****************数组的常用方法***************");
int[] numberArr= { 9, 2, 3, 4, 100, 1, 0, 5, 63 };
//假设第一个元素是最大值
int maxValue = numberArr[0];
for (int i = 1; i < numberArr.Length; i++)
{
if (maxValue < numberArr[i])
{
maxValue = numberArr[i];
}
}
Console.WriteLine("最大值是{0}", maxValue);
Console.WriteLine("系统找到的最大值是:{0}",numberArr.Min());
Console.WriteLine("****************排序*****************");
Array.Sort(numberArr);//从小到大排列
for (int i = 0; i < numberArr.Length; i++)
{
Console.Write(numberArr[i] +" ");
}
Console.WriteLine();
Console.WriteLine("平均值是:{0:.00}",numberArr.Average());
//二维数组
Console.WriteLine("***************二维数组****************");
int[,] numArr4 = new int[3, 4];
//得到数组有3行
Console.WriteLine(numArr4.GetLength(0));
//得到数组有4列
Console.WriteLine(numArr4.GetLength(1));
for (int i = 0; i < numArr4.GetLength(0); i++)
{
for (int j = 0; j < numArr4.GetLength(1); j++)
{
Console.Write(numArr4[i, j] + " ");
}
Console.WriteLine();
}
C#基础-029 数组介绍
最新推荐文章于 2024-05-07 07:19:16 发布