最新学习情景2控制流程PPT课件.ppt

上传人:豆**** 文档编号:60167906 上传时间:2022-11-14 格式:PPT 页数:62 大小:3.12MB
返回 下载 相关 举报
最新学习情景2控制流程PPT课件.ppt_第1页
第1页 / 共62页
最新学习情景2控制流程PPT课件.ppt_第2页
第2页 / 共62页
点击查看更多>>
资源描述

《最新学习情景2控制流程PPT课件.ppt》由会员分享,可在线阅读,更多相关《最新学习情景2控制流程PPT课件.ppt(62页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、学习情景学习情景2 2控制流程控制流程 本章任务本章任务实现输出学员信息。实现学员成绩计算。实现根据时间不同问好。实现打印直角三角形。实现考试管理系统学生类与教师类的设计。优化考试管理系统学生类与教师类的设计。示例代码分析示例代码分析示例关键代码回顾:static void Main(string args)string course=C#;/课程名称课程名称 Console.WriteLine(我的课程名称是:我的课程名称是:0,course);Console.ReadLine();0:占位符占位符依次使用依次使用0、1、2与变量列表中的变量对应与变量列表中的变量对应可以在字符串中使用可以在

2、字符串中使用 n、t 来控制换行或制表来控制换行或制表格式字符串格式字符串变量列表变量列表 从控制台输入从控制台输入读取一行,返回一个字符串读取一行,返回一个字符串 string 类型类型读取整数读取整数string name=Console.ReadLine();int age=int.Parse(Console.ReadLine();Console.ReadLine();int.Parse(Console.ReadLine();表示将字符串转换为整数表示将字符串转换为整数 简单综合应用简单综合应用输入输入2名学员的信息,包括姓名、年龄,输出到控制台名学员的信息,包括姓名、年龄,输出到控制台

3、要求:两种方式输出要求:两种方式输出第一种,使用第一种,使用+连接输出第一个学员的信息连接输出第一个学员的信息第二种,使用格式字符串输出第二个学员的信息第二种,使用格式字符串输出第二个学员的信息 综合应用示例代码分析综合应用示例代码分析/输入第一个学员信息输入第一个学员信息Console.WriteLine(请输入第一个学员的姓名:请输入第一个学员的姓名:);name1=Console.ReadLine();Console.WriteLine(请输入第一个学员的年龄:请输入第一个学员的年龄:);age1=int.Parse(Console.ReadLine();/输入第二个学员信息输入第二个学

4、员信息/输出学员信息输出学员信息Console.WriteLine(第一个学员的姓名第一个学员的姓名+name1+,年龄年龄+age1+岁岁);Console.WriteLine(第二个学员的姓名第二个学员的姓名0,年龄年龄1岁岁,name2,age2);+连接输出连接输出格式字符串输出格式字符串输出示例3关键代码回顾:输入输入 小结小结static void Main(string args)int num1;int num2;num1=int.Parse(Console.ReadLine();num2=int.Parse(Console.ReadLine();Console.WriteLi

5、ne(0+1=2,num1,num2,num1+num2);输入输入2个整数,输出两个数的和个整数,输出两个数的和 C#中的条件判断中的条件判断C#与与 Java 中的条件判断语句对比:中的条件判断语句对比:条件判断语句条件判断语句JavaC#ifif()二者完全相同二者完全相同if else if()else if()二者完全相同二者完全相同else switchC#与与 Java 的语法有区别的语法有区别 嵌套嵌套 if 语法语法if(表达式表达式1)if(表达式表达式2)/表达式表达式2为真时执行为真时执行 else /表达式表达式2为假时执行为假时执行 else /表达式表达式1为假时

6、执行为假时执行嵌套嵌套 if:if 块中又嵌入块中又嵌入 if switch 结构对比结构对比Java 与与 C#中的中的 switch 语句对比语句对比switch(int/char表达式表达式)case 常量表达式常量表达式1:语句语句1;break;/可以没有可以没有 case 常量表达式常量表达式2:语句语句2;break;/可以没有可以没有 default:语句语句n;Javaswitch(int/char/string表达式表达式)case 常量表达式常量表达式1:语句语句1;break;/必须有必须有 case 常量表达式常量表达式2:语句语句2;break;/必须有必须有 de

7、fault:语句语句n;break;/必须有必须有C#使用使用 switch 示例示例输入一个时间(整数)输入一个时间(整数)在在6-10点之间,输出点之间,输出“上午好上午好”在在11-13点之间,输出点之间,输出“中午好中午好”在在14-18点之间,输出点之间,输出“下午好下午好”其他情况输出其他情况输出“休息时间休息时间”关键代码关键代码static void Main(string args)Console.WriteLine(请输入当前的时间:请输入当前的时间:);string time=Console.ReadLine();/接受输入接受输入 switch(time)/根据时间输出

8、根据时间输出 case 6:case 7:case 8:case 9:case 10:Console.WriteLine(上午好上午好);break;case 11:case 12:case 13:Console.WriteLine(中午好中午好);break;case 14:case 15:case 16:case 17:case 18:Console.WriteLine(下午好下午好);break;default:Console.WriteLine(休息时间休息时间);break;输出结果输出结果 C#中的中的 switch 结构小结结构小结条件判断的表达式类型 整型或字符串break 语

9、句的要求:每个 case 都有 breakdefault 也要有 break特殊情况:/示例示例6中的代码中的代码string time;switch(time)case 6:case 7:case 8:case 9:case 10:Console.WriteLine(上午好上午好);break;/default:Console.WriteLine(休息时间休息时间);break;case 中没有其他语句时,中没有其他语句时,不需要不需要break语句语句 小结小结输入一个时间如果是6点输出“该起床了”如果是12点输出“该吃饭了”否则输出“该睡觉了”使用 switch 语句实现string t

10、ime=Console.ReadLine();/输入时间输入时间switch(time)/判断判断 case 6:Console.WriteLine(该起床了该起床了);break;case 12:Console.WriteLine(该吃饭了该吃饭了);break;default:Console.WriteLine(该睡觉了该睡觉了);break;总结总结怎样向控制台输出信息?怎样向控制台输出信息?怎样从控制台读入信息?怎样从控制台读入信息?C#和和 Java 中的中的 switch 语句有什么不同?语句有什么不同?C#中的循环迭代中的循环迭代回顾:回顾:Java 中的循环语句有哪些?执行过程

11、怎样?中的循环语句有哪些?执行过程怎样?循环语句循环语句JavaC#dowhiledo /二者的语法和操作相同!二者的语法和操作相同!while(条件条件)whilewhile(条件条件)/二者的语法和操作相同!二者的语法和操作相同!forfor(初始值;初始值;条件;条件;增增/减减)/二者的语法和操作相同!二者的语法和操作相同!foreach无无新特性!新特性!foreach 循环结构循环结构foreach循环一般用于遍历整个集合或数组循环一般用于遍历整个集合或数组foreach(元素类型元素类型 变量名变量名 in 集合或者数组名集合或者数组名)/语句语句输入一个字符串,输出其中的每个字

12、符输入一个字符串,输出其中的每个字符 关键代码分析关键代码分析static void Main(string args)Console.WriteLine(请输入一个字符串请输入一个字符串:);/输入提示输入提示 /从控制台读入字符串从控制台读入字符串 string line=Console.ReadLine();/循环输出字符串中的字符循环输出字符串中的字符 foreach(char c in line)Console.WriteLine(c);Console.ReadLine();依次循环字符串中依次循环字符串中的每个字符的每个字符 二重循环二重循环 某次程序大赛,某次程序大赛,3个班级各

13、个班级各4名学员参赛,名学员参赛,计算每个班参赛学员的平均分计算每个班参赛学员的平均分共共3个班级,循环个班级,循环3次计算每个班的平均分次计算每个班的平均分每班每班4名学员,循环名学员,循环4次累加总分次累加总分需要使用二重循环实现需要使用二重循环实现for、while、do-while、foreach 语句可以相互嵌套语句可以相互嵌套 关键代码关键代码/外层循环控制逐个计算每个班级的平均分外层循环控制逐个计算每个班级的平均分for(i=0;i 3;i+)sum=0;/总分计数清零总分计数清零 Console.WriteLine(n请输入第请输入第0个班的成绩个班的成绩,i+1);/内层循环

14、计算每个班级的总分内层循环计算每个班级的总分 for(j=0;j 4;j+)Console.Write(第第0个学员的成绩个学员的成绩:,j+1);score=int.Parse(Console.ReadLine();sum=sum+score;average=sum/4;Console.WriteLine(第第0个班的平均分为个班的平均分为:1分分,i+1,average);内层循环结束内层循环结束后,才执行外后,才执行外层循环的语句层循环的语句 二重循环进阶二重循环进阶用用*打印一个直角三角形图案打印一个直角三角形图案二重循环:外层控制行数,内层打印每行的二重循环:外层控制行数,内层打印每

15、行的*图形特点:每行的图形特点:每行的*个数与行数相等个数与行数相等 关键代码关键代码int rows=5;/打印的行数打印的行数int i,j;/循环变量循环变量/外层循环控制打印的行数外层循环控制打印的行数for(i=1;i=rows;i+)/内层循环控制每行打印内层循环控制每行打印*的个数的个数 for(j=1;j=i;j+)Console.Write(*);Console.Write(n);内层循环的结束条件与外层内层循环的结束条件与外层循环变量有关循环变量有关 流程控制进阶流程控制进阶回顾:在循环结构中,回顾:在循环结构中,continue 和和 break怎样跳转?怎样跳转?for

16、()continue;for()break;跳出循环结构跳出循环结构跳到下次循环跳到下次循环在二重循环中会怎样呢?在二重循环中会怎样呢?流程控制进阶流程控制进阶continue下面红色框中代码的作用是什么下面红色框中代码的作用是什么?int count=0;for(i=0;i 3;i+)/提示输入成绩提示输入成绩 for(j=0;j 4;j+)Console.Write(第第0个学员的成绩个学员的成绩:,j+1);score=int.Parse(Console.ReadLine();sum=sum+score;if(score 85)continue;count+;/计算平均分并输出计算平均分

17、并输出continue 跳跳出本次循环,出本次循环,继续下一次继续下一次循环循环统计成绩在统计成绩在85分以上的学员人数分以上的学员人数 流程控制进阶流程控制进阶break 5个专卖店促销,每个专卖店每人个专卖店促销,每个专卖店每人限购限购3件衣服,可以随时选择离开,件衣服,可以随时选择离开,离店时要结账离店时要结账for(i=0;i5;i+)/每次进一个专卖店每次进一个专卖店 for(j=0;j3;j+)/每个店限购每个店限购3件件 if(离开这家店离开这家店)break;选购一件衣服选购一件衣服 结账结账 关键代码回顾关键代码回顾for(i=0;i 5;i+)/外层循环控制依次进入下一个专

18、卖店外层循环控制依次进入下一个专卖店 Console.WriteLine(n欢迎光临第欢迎光临第0家专卖店家专卖店,i+1);for(j=0;j 3;j+)/内层循环一次买一件衣服内层循环一次买一件衣服 Console.Write(要离开吗要离开吗?y/n);choice=Console.ReadLine();if(choice=y)/如果离开,就跳出,结账,进入下一个店如果离开,就跳出,结账,进入下一个店 break;Console.WriteLine(买了一件衣服买了一件衣服);count+;/买一件衣服买一件衣服 Console.WriteLine(离店结账离店结账);break 跳出内

19、层循环跳出内层循环choice=y 流程控制进阶流程控制进阶for()for()continue;for()for()break;跳出本层循环,跳出本层循环,继续执行外层循环继续执行外层循环跳出本次循环,跳出本次循环,继续下一次循环继续下一次循环break 和和 continue 用在二重循环中:用在二重循环中:小结小结在控制台打印出如下图案(9行9列):提示:使用二重循环提示:使用二重循环static void Main(string args)int i,j;/循环变量循环变量 for(i=1;i=9;i+)/外层循环控制行数外层循环控制行数 for(j=1;j 0&value 0&val

20、ue 50&score 60)Console.WriteLine(你的成绩在你的成绩在50-60之间,可以加分。之间,可以加分。);score=60;scoreResult=60;都可以输出结果都可以输出结果 ref侧重修改,侧重修改,out侧重输出侧重输出 不能写成不能写成AddScore(out int scoreResult)为什么要重载为什么要重载 public int Sum(int para1,int para2)return para1+para2;整形参数,整形参数,返回值整型返回值整型如果想让两个如果想让两个string型、两个型、两个double型相加,怎么做?型相加,怎么

21、做?编写两个不同名字的方法,这样我们在进行调用时编写两个不同名字的方法,这样我们在进行调用时要先判断是什么类型,能否不判断直接就能相加呢?要先判断是什么类型,能否不判断直接就能相加呢?方法的重载方法的重载同一个类中添加几个名字相同,参数与返回值不同的方法同一个类中添加几个名字相同,参数与返回值不同的方法 public string Sum(string para1,string para2)return para1+para2;public double Sum(double para1,double para2)return para1+para2;调用时只要传递参数即可,无需判断类型调用时

22、只要传递参数即可,无需判断类型 重载的方式重载的方式class Add public string Sum(string para1,string para2)public int Sum(int para1,int para2)基于不同类型参数的重载基于不同类型参数的重载 class Add public int Sum(int para1,int para2)public int Sum(int para1,int para2,int para3)相同类型不同参数个数的重载相同类型不同参数个数的重载 不允许重载方法仅仅是返回值不同不允许重载方法仅仅是返回值不同 生活中的继承生活中的继承卡车

23、和巴士都是汽车卡车和巴士都是汽车 汽车汽车 刹车刹车行驶行驶共有行为:共有行为:轮子轮子发动机发动机共有特征:共有特征:卸货卸货拉货拉货各自行为:各自行为:载重载重货舱货舱各自特征:各自特征:停靠站停靠站报站报站各自行为:各自行为:载客量载客量客舱客舱各自特征:各自特征:他们共有的特征他们共有的特征来自汽车来自汽车有什么共同有什么共同特征呢?特征呢?卡车卡车 公共汽车公共汽车 父类和子类父类和子类在在C#中,一个类可以继承另一个类中,一个类可以继承另一个类Person 子类继承父类,父类派生子类子类继承父类,父类派生子类学员和老师类都继承学员和老师类都继承PersonStudent Teach

24、er 子类子类 父类父类 Student类继承类继承Person类类Person类派生类派生Student类类子类又叫子类又叫派生类派生类父类又叫父类又叫基类基类class Student:Person 继承概述继承概述继承需要符合的关系继承需要符合的关系:is-aStudent is a Person子类继承父类的成员子类继承父类的成员子类可以有自己的成员子类可以有自己的成员继承父类的继承父类的成员成员自己特有的自己特有的成员成员继承是面向对象的一个重要特性继承在类图中继承在类图中的表示的表示 继承的实际应用继承的实际应用1班上所有的人都做自我介绍班上所有的人都做自我介绍SayHi()学员学

25、员 大家好,我是某某同学,今年多少岁,喜欢什么大家好,我是某某同学,今年多少岁,喜欢什么老师老师 大家好,我是某某老师,今年多少岁,工作几年了大家好,我是某某老师,今年多少岁,工作几年了子类中访问继承父类子类中访问继承父类的公共属性的公共属性子类特有属性子类特有属性 继承的实际应用继承的实际应用2公共属性加入父类公共属性加入父类有独自的有独自的SayHi 继承的实际应用继承的实际应用3Teacher和和Student类都继承类都继承Personpublic class Student:Personpublic class Teacher:Personpublic Student(string

26、name,Genders gender,int age,string hobby,int popularity)this.Name=name;this.Age=age;this.Gender=gender;/学生类扩展的属性学生类扩展的属性 this.Hobby=hobby;this.Popularity=popularity;构造函数设置公共属构造函数设置公共属性与独有属性性与独有属性继承自父类的公共属性继承自父类的公共属性子类扩展的属性子类扩展的属性 继承的实际应用继承的实际应用4都有不同的都有不同的SayHi方法方法public void SayHi()/学生的学生的SayHipubli

27、c void SayHi()/老师的老师的SayHi创建对象调用创建对象调用SayHiStudent zhang=new Student();Teacher jacky=new Teacher();zhang.SayHi();jacky.SayHi();学生调用自己的学生调用自己的SayHi 老师调用自己的老师调用自己的SayHi 演示示例演示示例2 2:MySchool base关键字关键字关键字关键字base的作用的作用调用父类的属性和方法调用父类的属性和方法调用父类的构造函数调用父类的构造函数public void SayHi()string message=string.Format(

28、大家好,我是大家好,我是0 同学,今年同学,今年1 岁了,我喜欢岁了,我喜欢2!,base.Name,base.Age,this.hobby);MessageBox.Show(message);调用父类的调用父类的属性属性public Student(string name,Genders gender,int age,string hobby,int popularity):base(name,age,gender)/学生类扩展的属性学生类扩展的属性 this.Hobby=hobby;this.Popularity=popularity;this.Name=name;this.Age=age

29、;this.Gender=gender;调用父类的构调用父类的构造函数造函数 protected访问修饰符访问修饰符protected访问修饰符允许子类访问访问修饰符允许子类访问 protected访问修饰符不允许其他非子类访问访问修饰符不允许其他非子类访问 不可以不可以可以可以可以可以protected不可以不可以不可以可以可以private可以可以可以可以可以可以public其他类其他类子类子类类内部类内部父类成员父类成员如果父类中的某个成员只允许其子类访问如果父类中的某个成员只允许其子类访问public修饰修饰所有类都可以所有类都可以访问访问private修饰修饰子类无法访问子类无法访问

30、 小结小结控制台程序实现汽车与卡车的继承控制台程序实现汽车与卡车的继承汽车类汽车类Vehicle有一个方法有一个方法vehicleRun()内容可以打印一句话内容可以打印一句话卡车类卡车类Truck有一个方法有一个方法truckRun()内容可以打印一句话内容可以打印一句话实例化一个卡车调用汽车和卡车的方法实例化一个卡车调用汽车和卡车的方法成员要用成员要用protected修饰修饰汽车汽车(Vehicle)public class Vehicle protected void vehicleRun()Console.WriteLine(汽车在行驶!汽车在行驶!);public class Truck:Vehicle protected void truckRun()Console.WriteLine(卡车在行驶!卡车在行驶!);static void Main(string args)Truck truck=new Truck();truck.truckRun();truck.vehicleRun();卡车卡车(Truck)Thank You!

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁