数组的声明
数组可以一次性声明多个相同类型的变量
#region 数组的声明方式
//数组的声明方式
//第一种
int[] nums = new int[10];//长度为10.索引是0-9 int类型的 下标也是0-9
//第二种
int[] nums2 = new int[] { 1, 2, 3, 4, 5 };
// 这个数组只能存5个数
//第三种
int[] nums3 = new int[3] {1,2,3 };
//[]中是几,后面大括号中就只能输入几个数字,规定了字符长度
//第四种
int[] nums4 = { 1, 2, 3, 4, 5 };//只能输入5个字符。
#endregion
数组的存值和取值
#region 数组的存值
//数组的存值
int[] nums = new int[10];
nums[5] = 23;
nums[7] = 100;
//数组的存值和取值都是通过下标或者索引来进行赋值和取值的。
Console.WriteLine("nums[5]");
Console.WriteLine("nums[7]");
Console.ReadKey();
#endregion
#region 数组的存值和取值
//赋值
int[] nums = new int[10];
for (int i=0;i<5;i++)
{
nums[i] = 10;
}
//取值
//遍历
for (int i=0;i<5;i++)
{
Console.WriteLine(nums[i]);
}
Console.ReadKey();
#endregion
数组求最值 求和 求平均值
#region 数组拓展练习
//从一个正数组中取出最大的整数,最小整数,总和,平均值
int[] nums = new int[] { -12, 90, -56, 89, 0, 345 };
int max = int.MinValue;//求最大值
int min = int.MaxValue;//求最小值的变量
int sum = 0;
for(int i=0;i<nums.Length;i++)
{
if(nums[i]>max)
{
max = nums[i];
}
if(nums[i]<min)
{
min = nums[i];
}
sum += nums[i];//求和
}
Console.WriteLine("和是{0},最大值是{1},最小值是{2},平均值是{3}", sum, max, min, sum / nums.Length);
Console.ReadKey();
#endregion
//使用方法进行数组的求和
#region 数组的求和
//计算一个整数组的所有元素的和
Program.SumArray();
Console.ReadKey();
}
//下面使用一个方法
public static void SumArray()
{
int[] numbers = new int[] { 1, 2, 3, 4, 5 };
int sum = 0;
for(int i =0;i<numbers.Length;i++)
{
sum += numbers[i];
}
Console.WriteLine("和为{0}", sum);
#endregion
数组的排序
排序是从小到大或者从大到小
冒泡排序
#region 数组的排序
//冒泡排序
int[] nums = new int[] {98,23,45,43,};
int temp = 0;
for (int j = 0; j < nums.Length - 1; j++)
{
for (int i = 0; i < nums.Length - 1 - j; i++)
{
if (nums[i] > nums[i + 1])
{
temp = nums[1];
nums[i] = nums[i + 1];
nums[i + 1] = temp;
}
}
}
for(int i=0;i<nums.Length;i++)
{
Console.Write(nums[i] + "\t");
}
Console.ReadKey();
//冒泡排序的第二种方法
int[] nums = new int[] { 2, 43, 3, 1, 76 };
Array.Sort(nums);
for(int i=0;i<nums.Length;i++)
{
Console.WriteLine(nums[i] + "\t");
}
Console.ReadKey();
#endregion
数组的反转
#region 反转
int[] nums = new int[] {2,43,3,1,76 };
//Array.Sort(nums);//排序
//Array.Reverse(nums);//这个方法是反转
//for (int i = 0; i < nums.Length; i++)
//{
// Console.WriteLine(nums[i] + "\t");
//}
//下面是精简版的反转
for(int i=nums.Length -1;i>=0;i--)
{
Console.WriteLine(nums[i] + "\t");
}
Console.ReadKey();
#endregion
#region 将一个字符串数组的元素的顺序进行反转
//第一种方法
string[] text = { "我", "是", "好人" };
for(int i=text.Length -1;i>=0;i--)
{
Console.WriteLine(text[i] + "\t");
}
Console.ReadKey();
//第二种方法
string[] text = { "我", "是", "好人" };
Array.Reverse(text);
for (int i=0;i<text.Length;i++ )
{
Console.WriteLine(text[i] + "\t");
}
Console.ReadKey();
Console.ReadKey();
//第三种方法
string[] text = { "我", "是", "好人" };
string temp = "";
for(int i=0;i<text.Length /2;i++)
{
temp = text[i];
text[i]= text[text.Length - i - 1];
text[text.Length - 1 - i] = temp;
}
for (int i = 0; i < text.Length; i++)
{
Console.WriteLine(text[i] + "\t");
}
Console.ReadKey();
#endregion