C#编程入门6_数组

数组的定义

具有相同数据类型的变量的有序集合 
注意: 
第一个特点:就是具有相同的数据类型 
第二个特点:有序


数组的声明及类型

这里写图片描述


一位数组初始化

//数组的英文是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;
 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28

下标/索引

//访问数组的元素
            //要访问数据的元素 要通过下标来访问
            //在声明数组的时候  系统会默认的给数组里面的元素进行编号
            //编号的规则是必须从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]);
 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15


初识字符串

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' };
 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20


数组中常用的系统方法

  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());
 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24


二维数组初始化

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();
            }
 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15


课上的完整代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace 初识数组
{
    class Program
    {
        static void Main(string[] args)
        {
            //数组的英文是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();
            }
        }
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值