资源描述
第三章第三章第三章第三章用用用用 Hello ACCP.NET Hello ACCP.NET 快速热身快速热身快速热身快速热身(三三三三)1.回顾回顾static void Main(string args)int i,j;i=1;while(i=5)for(j=1;j=5;j+)Console.Write(*);Console.WriteLine();i+;Console.ReadLine();下面一段代码的输出是什么?下面一段代码的输出是什么?.预习检查预习检查本章介绍了哪些传递参数的方式?本章介绍了哪些传递参数的方式?说出两个常用的字符串处理方法。说出两个常用的字符串处理方法。C#中的类型转换有哪几种方式?中的类型转换有哪几种方式?.本章任务本章任务编写编写 Hello ACCP.NET 控制台应用程序控制台应用程序计算缴税后的工资计算缴税后的工资交换两个数交换两个数处理用户邮件地址处理用户邮件地址 字符串分割后重新连接字符串分割后重新连接输出个人档案输出个人档案一个数转换为其他类型一个数转换为其他类型.本章目标本章目标掌握掌握 C#中方法的定义和使用中方法的定义和使用掌握掌握 C#中参数的传递方式中参数的传递方式掌握常用的掌握常用的 String 类的方法类的方法能够进行常用数据类型之间的转换能够进行常用数据类型之间的转换.C#中的命名空间中的命名空间using System;using System.Collections.Generic;using System.Text;namespace HelloACCP class Program static void Main(string args)/系统定义的命名空间系统定义的命名空间自定义的命名空间自定义的命名空间命名空间:命名空间:一种组织代码的方法一种组织代码的方法 代码及内容唯一标识代码及内容唯一标识.引用命名空间引用命名空间using System;/引用引用 System 命名空间命名空间namespace HelloACCP class Program static void Main(string args)Console.WriteLine(Hello ACCP.NET);/不引用不引用 System 命名空间命名空间/using System;namespace HelloACCP class Program static void Main(string args)/Console.WriteLine(Hello ACCP.NET);System.Console.WriteLine(Hello ACCP.NET);如果不使用如果不使用using,要使用完全限定名称要使用完全限定名称WriteLine()方法的方法的完全限定名称完全限定名称使用使用 using 引用命名空间引用命名空间示例示例1 1源代码源代码 .方法的基本概念方法的基本概念回顾:什么是方法?使用方法有什么好处?回顾:什么是方法?使用方法有什么好处?类的行为,便于修改、增加可读性、可重用、封装类的行为,便于修改、增加可读性、可重用、封装C#中方法的定义形式:中方法的定义形式:访问修饰符访问修饰符 返回类型返回类型 方法名方法名(参数列表参数列表)/方法的主体方法的主体publicprivateintdoublestringvoid命名规范:单词命名规范:单词首字母大写首字母大写Pascal命名法命名法参数传递参数传递与与Java有有所不同所不同.参数的值传递方式参数的值传递方式工资计税的方法为:低于等于工资计税的方法为:低于等于16001600不计税,不计税,超出超出16001600的部分按的部分按10%10%缴税缴税int pay;/税前工资税前工资 float taxRate=0.1f;/税率税率float afterTax;/税后工资税后工资Console.WriteLine(请输入税前工资:请输入税前工资:);pay=int.Parse(Console.ReadLine();if(pay=1600)/低于低于1600不缴税不缴税 afterTax=pay;else /高于高于1600 部分按税率缴税部分按税率缴税 afterTax=pay-(pay-1600)*taxRate;Console.WriteLine(税前工资税前工资0,税后工资,税后工资1,pay,afterTax);怎样用方法实现?怎样用方法实现?演示示例演示示例2:自定义方法计算税后工资自定义方法计算税后工资.示例示例2代码分析代码分析关键代码回顾:关键代码回顾:示例示例2 2源代码源代码/此方法根据税前工资计算税后工资此方法根据税前工资计算税后工资private static float GetPay(int pay,float taxRate)float afterTax;if(pay num2)return 1;else if(num1=num2)return 0;else return-1;.String常用方法常用方法回顾:回顾:Java 中常用的字符串处理方法?中常用的字符串处理方法?C#中常用的字符串处理方法:中常用的字符串处理方法:Equals():比较两个字符串的值是否相等:比较两个字符串的值是否相等Join():连接字符串:连接字符串Split():分割字符串:分割字符串IndexOf():查找某个字符在字符串中的位置:查找某个字符在字符串中的位置SubString():从字符串中截取子字符串:从字符串中截取子字符串ToLower():将字符串转换成小写形式:将字符串转换成小写形式Trim():去掉字符串两边的空格:去掉字符串两边的空格.String 常用方法应用常用方法应用1已有如下代码,按要求增加功能:已有如下代码,按要求增加功能:static void Main(string args)string email;/电子邮件地址电子邮件地址 Console.WriteLine(请输入你的邮箱:请输入你的邮箱:);email=Console.ReadLine();Console.WriteLine(你的邮箱是你的邮箱是 0,email);需实现的功能:需实现的功能:1、输入输入 yes 时,程序循环执行时,程序循环执行2、兼容以下各种形式兼容以下各种形式 yes(YES、yes、YeS.)3、提取邮箱的用户名提取邮箱的用户名演示示例演示示例4:String 常用方法常用方法.String 常用方法应用常用方法应用2输入一个字符串,输出每个单词,重新用下划线输入一个字符串,输出每个单词,重新用下划线连接输出连接输出使用使用 Split()方法分割字符串方法分割字符串使用使用 Join()方法连接字符串方法连接字符串演示示例演示示例5:字符串的分割和连接字符串的分割和连接.Split()方法方法分割字符串分割字符串示例示例5代码分析代码分析splitStrings=inputString.Split();/将分割后的字符串使用下划线连接在一起将分割后的字符串使用下划线连接在一起joinString=string.Join(_,splitStrings);返回值为返回值为字符串数组字符串数组字符串变量名字符串变量名参数:分隔符(参数:分隔符(char型)型)返回字符串返回字符串静态方法静态方法参数参数1:连接符:连接符参数参数2:字符串数组:字符串数组关键代码回顾:关键代码回顾:示例示例5 5源代码源代码Join()方法方法连接字符串连接字符串.Format()方法方法回顾两种输出字符串的方式:回顾两种输出字符串的方式:string name=王强王强;Console.WriteLine(我的名字是我的名字是 +name+,我的年龄是,我的年龄是+18);string name=王强王强;Console.WriteLine(我的名字是我的名字是 0,我的年龄是,我的年龄是1,name,18);格式字符串格式字符串String 类的类的 Format()方法用来格式化字符串方法用来格式化字符串变量列表变量列表演示示例演示示例6:输出个人档案输出个人档案.示例示例 6 代码分析代码分析关键代码回顾:关键代码回顾:示例示例6 6源代码源代码record=string.Format(姓名:姓名:0n出生年月:出生年月:1n身高:身高:2n 血型:血型:3n星座:星座:4n最喜欢的食物:最喜欢的食物:5,name,birthday,height,bloodType,planet,favourFood);Console.WriteLine(n这是你的个人档案:这是你的个人档案:);Console.WriteLine(record);参数与参数与 WritLine()方法相似方法相似.Format()的语法小结的语法小结string myString=string.Format(格式字符串格式字符串,参数列表参数列表);string myString=string.Format(0 乘以乘以 1 等于等于 2,2,3,2*3);格式字符串格式字符串代表代表参数列表参数列表2乘以乘以3等于等于6包括占位符包括占位符x.小结小结补充补充下划线处的下划线处的占位符占位符,输出五个成语,输出五个成语string yi=一一;string er=二二;string san=三三;string word=string.Format(独独 _ 无无 _,_ 心心 _ 意,垂涎意,垂涎 _ 尺,略知尺,略知 _ _,举,举_ 反反 _,yi,er,san);Console.WriteLine(word);趣味编程:看谁写的巧!趣味编程:看谁写的巧!参考答案参考答案string yi=一一;string er=二二;string san=三三;string word=string.Format(独独0无无1,2心心1意,垂涎意,垂涎2尺,略知尺,略知01,举,举0反反2,yi,er,san);Console.WriteLine(word);.为什么需要类型转换为什么需要类型转换编译器要编译器要确切地知道确切地知道数据的类型数据的类型int num=123;整数整数字符串字符串需要类型转换!需要类型转换!编译出错编译出错.怎样进行隐式类型转换怎样进行隐式类型转换隐式转换:自动类型转换隐式转换:自动类型转换floatfloatintint规则:对于数值类型,规则:对于数值类型,A的的取值范围取值范围完全包含在完全包含在B内内AB.static void Main(string args)double score=58.5;/原始成绩原始成绩 int bonus=2;/加分加分 int sum;/总分总分 sum=score+bonus;/计算总分计算总分 Console.WriteLine(sum);Console.ReadLine();怎样进行显式类型转换怎样进行显式类型转换static void Main(string args)double score=58.5;int bonus=2;int sum;sum=(int)score+bonus;Console.WriteLine(sum);Console.ReadLine();明确明确告诉编译器转换类型告诉编译器转换类型注意:注意:double(58.5)-int(58),精度可能丢失!,精度可能丢失!显式转换:强制类型转换显式转换:强制类型转换.使用使用 Parse()进行转换进行转换字符串和数值型字符串和数值型的互相转换的互相转换 intintfloatfloatdoubledoublestringstringint.Parse()float.Parse()double.Parse()ToString()必须是数字的必须是数字的有效表示形式!有效表示形式!.使用使用 Convert 类进行转换类进行转换使用使用 Convert:Convert.ToXxx(object value)Convert.ToInt32()Convert.ToSingle()Convert.ToString()double85.63string85.63int86float85.63演示示例演示示例7:不同类型的相互转换不同类型的相互转换.Parse 与与 ConvertXxx.Parse(string)目标类型的有效表示形式目标类型的有效表示形式Convert.ToXxx(object):注:注:Xxx表示某种类型表示某种类型字符串字符串其他类型其他类型任意类型任意类型其他类型其他类型.小结小结类型转换有几种方式?类型转换有几种方式?string myString=Hello;int myInt=int.Parse(myString);double score=59.3;int myInt=Convert.ToInt32(score);double score=92.6;string myString=score.ToString();错误!错误!字符串不是有效的整数形式字符串不是有效的整数形式转换成功!转换成功!myString 为为 92.6转换成功,但精度丢失!转换成功,但精度丢失!myInt 为为 59下面各种转换的结果是什么?下面各种转换的结果是什么?.总结总结自定义方法由哪几部分构成?自定义方法由哪几部分构成?String 类的类的 Format()方法的参数包括什么?方法的参数包括什么?Parse()与与 Convert 分别把什么类型转为什么类型?分别把什么类型转为什么类型?.Thank you.
展开阅读全文