数组的基础及运用

来源:互联网 发布:linux系统编程 康华 编辑:程序博客网 时间:2024/06/07 10:44

//数组的英文是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 };        //数组 ;一个具有相同数据类型 有序的集合        //数组特点:        //第一个  具有相同的数据类型        //第二个  有序        //        //数组arr 的类型是 int[]         //在内存中开辟5个int类型的数据空间          //arr类似一个仓库  仓库是用来存放int类型的数据的         //对下面的数组来说 默认值全是0        int[] arr = new int[5];   //声明数组并实例化        //变量number 的类型是  int        int number = 10;        //访问数组的元素        //要访问数据的元素 要通过下标来访问        //在声明数组的时候  系统会默认的给数组里面的元素进行编号        //编号的规则是必须从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.Max());        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();        }
原创粉丝点击