概念:一次性存储多个相同类型的变量,区别结构一次性声明多个不同类型的变量
1.动态初始化数组
//数组类型[] 数组名字 = new 数组类型[数组长度]; int[] nums = new int[10]; //声明一个 int类型, 长度10的 数组
数组中默认是0
给数组赋值:
1 nums[5] = 10;
2 nums[3] = 12;
2.静态初始化
1 int[] num2 = { 1, 2, 3 }; 2 //下面两种可以,但是比第二中更复杂,一般用第一和第二中, 3//第三种传入数组长度要对应后面大括号中的数据个数 4 int[] num3 = new int[3] { 1, 2, 3 }; 5 int[] num4 = new int[] { 1, 2, 3 };
1 //练习1:从一个整数数组中取出最大的整数,最小的整数,总和,平均值 2 //注意:0 是最大值或最小值的情况,给max赋值初始值的时候就给数组中的一个元素int 3 4 int max = nums[0]; 5 int min = nums[0]; 6 //或者是赋值int类型的最大值和最小值,给最大值一个最小的,最小值一个最大的 7 max = int.MinValue; 8 min = int.MaxValue; 9 10 int sum = 0; 11 int arg = 0; 12 for (int i = 0; i < nums.Length; i++) 13 { 14 if (max < nums[i]) 15 { 16 max = nums[i]; 17 } 18 19 min = min > nums[i] ? min : nums[i]; 20 21 sum += nums[i]; 22 } 23 24 Console.WriteLine("最大数是{0},总数是{1},平均数是{2:0.00}", max, sum, sum *1.0/ nums.Length);
1 //冒泡排序:就是将一个数组中的数据从大到小或者是从小到大的顺序进行排序 2 //过程:第一个元素和后面的元素相邻比较,如果大就交换 3 //从前到后,得到最后一个数值是最大值 4 int[] arr = { 12, 4, 5, 7, 32, 78, 23, 85, 23 }; 5 for (int i = 0; i < arr.Length-1; i++) 6 { 7 for (int j = 0; j < arr.Length-1-i; j++) 8 { 9 if (arr[j] > arr[j+1]) 10 { 11 int temp = arr[j]; 12 arr[j] = arr[j+1]; 13 arr[j+1] = temp; 14 } 15 } 16 } 17 // Array.Sort(arr); //升序排列 18 // Array.Reverse(arr); //数组进行翻转 19 for (int i = 0; i < arr.Length; i++) 20 { 21 Console.WriteLine("arr[{0}] = {1}", i, arr[i]); 22 }
注意:数组索引超出数组长度,就会抛出异常,索引越界beyond array bound,