您好,欢迎访问三七文档
第四章数组回顾while和do…while的区别。break和continue的区别。for循环的三个表达式的作用?本章内容数组调试foreach语句本章学习目标掌握一维数组的使用掌握调试程序掌握foreach语句一维数组《星光大道》本期节目参赛选手有10个,把这10个选手的姓名播报给观众。分析10个选手的姓名保存在10个变量里,然后全部输出。提问一维数组示例stringname1=阿木;stringname2=“星星点点;stringname3=“小东北;……stringname10=“南郭先生;Console.WriteLine(第一位选手:{0},name1);Console.WriteLine(第二位选手:{0},name2);Console.WriteLine(第三位选手:{0},name3);……Console.WriteLine(第十位选手:{0},name10);重复代码很多,却不能用循环完成,效率低下。一维数组为了能解决上面代码的这些缺点,我们改用一个新的技能来再次完成这个示例--数组。一维数组示例String[]name=newstring[10]{“阿木”,“星星点点”,“小东北”,“西北狼”,“苗家妹”,“东北三宝”,“面谱”,“青衣”,“小白桦”,“南郭先生};for(inti=0;i10;i++){Console.WriteLine(第{0}位选手:{1},i+1,name[i]);}输出结果相同,代码量大量减少,可以用循环操作重复的代码,效率提高。创建有10个值的数组,代替了10个变量循环输出每一个选手的名字,代替了10个输出语句一维数组语法数据类型[]数组名=new数据类型[数组长度];创建数组int[]num=newint[5];//创建一个能容纳5个整型值的数组string[]name=newstring[10];//创建一个能容纳10个字符串的数组示例new是关键字,表示在内存里给数组分配了保存值的空间数组长度表示这个数组里最多能容纳多少个值一维数组语法数据类型[]数组名=new数据类型[数组长度]{值1,值2…};或数据类型[]数组名={值1,值2…};数组初始化示例int[]num=newint[3]{10,20,30};或int[]num={10,20,30};//数组长度为3数组的长度为值的个数数组里的值又称为元素,数组里的元素都必须是同一种数据类型一维数组先创建数组再初始化int[]num=newint[3];num[0]=20;//给第一个元素赋值为20num[1]=5;//给第二个元素赋值为5num[2]=10;//给第三个元素赋值为10下标(标识符)是代表数组里元素的一种方式,下标从0开始(代表数组里的第一个值),到数组长度减1为止(代表数组里的最后一个值),通过下标我们就可以给单个元素赋值一维数组int[]n=newint[5];n[0]=20;Console.WriteLine(“n[1]={0}”,n[1]);只给数组的第一个元素赋了值,其他的数组元素没有赋值输出:n[1]=0数组创建之后会自动初始化,数字类型的数组的值全是0,string类型的数组的值全是null(空)。示例常见错误数组初始值的数目与数组的长度不一样初始值的个数必须与数组的长度一样!//循环打印数组元素int[]a=newint[5]{0,1,2};//声明并初始化一维数组,数组的长度可以是变量for(inti=0;ia.Length;i++)//输出数组中的所有元素{Console.WriteLine(a[i]);}代码错误判断正误string[]arr3;arr3=newstring[3]{I,like,C#};intarr1[]=newint[3];int[]arr2=newint[3]{1,2};int[]arr1√newint[3]{1,2,0}××int[]arr4=newstring[3];×类型应一致动态赋值第一步,创建一个长度为4的字符串数组;第二步,通过循环执行4次输入;第三步,循环输出数组的所有元素。提问怎样用一个字符串数组保存中国的四大名著,并输出。用户要输入这四大名著的名称分析动态赋值示例string[]bookName=newstring[4];inti;//声明变量保存数组下标//循环从0开始,代表数组下标从0开始for(i=0;i4;i++){Console.Write(请输入第{0}本名著的名字:,i+1);//数组的一个元素接收输入的值bookName[i]=Console.ReadLine();}Console.WriteLine(中国四大名著是:);for(i=0;i4;i++){Console.WriteLine(bookName[i]);}创建长度为4的数组查找第一步,创建并初始化数组,初始化的是天地会的人名;第二步,循环数组,从0开始,到数组长度-1结束;第三步,判断数组里的每一个元素名称是否等于”韦小宝”。提问大内侍卫抓住了一个天地会的奸细,让这个奸细在几个重要的天地会人物中找出青木堂的香主,这个奸细怎样查找。分析查找示例string[]name={陈近南,沐剑英,郑克塽,韦小宝,鳌拜};for(inti=0;iname.Length;i++){if(name[i]==韦小宝){Console.WriteLine(第{0}个人是青木堂的香主{1}。,i+1,name[i]);break;}}初始化字符串数组从0开始循环数组,name.Length可以得到数组的长度5判断是否青木堂香主如果找到,退出循环Array类Array.Sort(数组名)方法可以把数组升序排列,例如Array.Reverse(数组名)方法可以把数组反转,例如string[]name={“孙悟空”,”猪八戒”,”唐僧”,”沙和尚”};Array.Sort(name);//数组name升序排列string[]name={“孙悟空”,”猪八戒”,”唐僧”,”沙和尚”};Array.Reverse(name);//数组name顺序前后颠倒Array类怎样实现对一个数组降序排序?二维数组int[,]numbers=newint[3,2]{{9,99},{3,33},{5,55}}string[,]students=newstring[2,4];students[0,0]=“张三”;students[0,1]=“男”;students[0,2]=“学生”;students[0,3]=“21岁”;students[1,0]=“李四”;students[1,1]=“男”;students[1,2]=“程序员”;students[1,3]=“26岁”;调试全部中断F11逐步调试(查看程序一步一步是怎么运行的)断点、设置断点查看变量的量,查看表达式的量(自动窗口)foreach循环语法foreach(数据类型变量in数组名){代码块;}数组里的单个元素的临时名称每次循环从集合或数组中按顺序依次得到一个元素,直到最后一个元素为止。循环次数就是集合或数组元素的个数。循环执行的代码foreach循环集合或数组中元素的类型必须使用for语句的情况foreach语句总是遍历整个数组。如果只需要遍历数组的特定部分(例如前半部分),或者需要绕过特定元素(例如,只遍历索引为偶数的元素),那么使用for语句foreach语句总是从索引0遍历到索引Length-1。如果需要反向遍历,那么使用for语句如果循环体需要知道元素索引,而不仅仅是元素值,那么必须使用for语句如果需要修改数组元素,那么必须使用for语句。这是因为foreach语句的循环变量是一个只读变量总结为什么给数组赋值要从0开始循环?数组的下标代表什么?怎样得到数组的长度?Array类里哪个方法是用来排序的?下面数组里元素的值各是什么?int[]num=newint[3];string[]name=newstring[3];
本文标题:第4章-数组
链接地址:https://www.777doc.com/doc-4707147 .html