面向对象程序语言设计tp3v1.0课件

上传人:F****n 文档编号:88294920 上传时间:2019-04-23 格式:PPT 页数:30 大小:1.27MB
返回 下载 相关 举报
面向对象程序语言设计tp3v1.0课件_第1页
第1页 / 共30页
面向对象程序语言设计tp3v1.0课件_第2页
第2页 / 共30页
面向对象程序语言设计tp3v1.0课件_第3页
第3页 / 共30页
面向对象程序语言设计tp3v1.0课件_第4页
第4页 / 共30页
面向对象程序语言设计tp3v1.0课件_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《面向对象程序语言设计tp3v1.0课件》由会员分享,可在线阅读,更多相关《面向对象程序语言设计tp3v1.0课件(30页珍藏版)》请在金锄头文库上搜索。

1、1,第三章,用 Hello ACCP.NET 快速热身(三),2,本章任务,编写 Hello ACCP.NET 控制台应用程序 计算缴税后的工资 交换两个数 处理用户邮件地址 字符串分割后重新连接 输出个人档案 一个数转换为其他类型,3,本章目标,掌握 C# 中方法的定义和使用 掌握 C# 中参数的传递方式 掌握常用的 String 类的方法 能够进行常用数据类型之间的转换,4,C# 中的命名空间,using System; using System.Collections.Generic; using System.Text; namespace HelloACCP class Progra

2、m static void Main(string args) / ,系统定义的命名空间,自定义的命名空间,命名空间: 一种组织代码的方法 代码及内容唯一标识,5,引用命名空间,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

3、 Main(string args) / Console.WriteLine(“Hello ACCP .NET“); System.Console.WriteLine (“Hello ACCP .NET“); ,如果不使用using, 要使用完全限定名称,WriteLine() 方法的完全限定名称,使用 using 引用命名空间,示例1源代码,6,方法的基本概念,回顾:什么是方法?使用方法有什么好处?,类的行为,便于修改、增加可读性、可重用、封装,C# 中方法的定义形式:,访问修饰符 返回类型 方法名 ( 参数列表 ) / 方法的主体 ,public private,int double st

4、ring void ,命名规范:单词首字母大写Pascal命名法,参数传递与Java有所不同,7,参数的值传递方式,工资计税的方法为:低于等于1600不计税,超出1600的部分按10%缴税,int pay; / 税前工资 float taxRate = 0.1f; / 税率 float afterTax; / 税后工资 Console.WriteLine(“请输入税前工资:“); pay = int.Parse(Console.ReadLine(); if (pay = 1600) / 低于1600不缴税 afterTax = pay; else / 高于1600 部分按税率缴税 afterT

5、ax = pay - (pay - 1600) * taxRate; Console.WriteLine(“税前工资0,税后工资1“, pay, afterTax);,怎样用方法实现?,演示示例2:自定义方法计算税后工资,8,示例2代码分析,关键代码回顾:,示例2源代码,/ 此方法根据税前工资计算税后工资 private static float GetPay( int pay, float taxRate ) float afterTax; if (pay = 1600) / 低于1600不缴税 afterTax = pay; else / 高于1600 部分按税率缴税 afterTax =

6、 pay - (pay - 1600) * taxRate; return afterTax; ,传入税前工资、税率,返回税后工资,9,为什么使用 ref,下面代码输出结果是什么?,static void Main(string args) int num1 = 5, num2 = 10; / 两个数字 Console.WriteLine(“交换前两个数的值分别为:0和1“, num1, num2); Swap(num1, num2); / 交换两个数的值 Console.WriteLine(“交换后两个数的值分别为:0和1“, num1, num2); / 交换两个数的方法 private

7、static void Swap(int num1, int num2) int temp; / 中间变量 temp = num1; num1 = num2; num2 = temp; ,值传递不能保留参数的修改 要按引用传递,使用 ref,10,通过引用传递参数,ref 修饰参数: 调用方法后,参数值的更改仍然保留,演示示例3:使用 ref 交换两个数,11,示例 3 分析,static void Main(string args) Console.WriteLine(“交换前两个数的值分别为:0和1“, num1, num2); / 交换两个数的值 Swap(ref num1, ref n

8、um2); Console.WriteLine(“交换后两个数的值分别为:0和1“, num1, num2); ,/ 交换两个数的方法 private static void Swap(ref int num1, ref int num2) int temp; / 中间变量 temp = num1; num1 = num2; num2 = temp; ,调用时也要使用 ref,12,两种传参方式的比较,调用方法,方法定义,ModifyValue( num1, ref num2);,ModifyValue( int param1, ref int param2) ;,调用前,num1=3,num

9、2=5,param1=3,param2=5,方法中修改:,调用后,param1=4,param2=6,num1=3,num2=6,调用,值传递,引用传递,13,IDE 使用技巧进阶,在示例3上演示:,使用 VS 的重构功能,重新提取方法,14,小结,比较两个数的大小,自定义比较两个整数大小的方法: 如果第一个数大,返回1 如果相等返回0 如果第一个数小,返回-1 在 Main() 方法中输入两个数,调用这个方法,参考答案,/ 比较两个数大小的方法 private static int Compare(int num1, int num2) if (num1 num2) return 1; el

10、se if (num1 = num2) return 0; else return -1; ,15,String常用方法,回顾:Java 中常用的字符串处理方法?,C# 中常用的字符串处理方法: Equals() :比较两个字符串的值是否相等 Join():连接字符串 Split():分割字符串 IndexOf():查找某个字符在字符串中的位置 SubString():从字符串中截取子字符串 ToLower():将字符串转换成小写形式 Trim():去掉字符串两边的空格 ,16,String 常用方法应用1,已有如下代码,按要求增加功能:,static void Main(string arg

11、s) string email; / 电子邮件地址 Console.WriteLine(“请输入你的邮箱:“); email = Console.ReadLine(); Console.WriteLine(“你的邮箱是 0“, email); ,需实现的功能: 1、 输入 yes 时,程序循环执行 2、 兼容以下各种形式 yes(YES、yes、 YeS ) 3、 提取邮箱的用户名,演示示例4:String 常用方法,17,String 常用方法应用2,输入一个字符串,输出每个单词,重新用下划线连接输出,使用 Split() 方法分割字符串 使用 Join() 方法连接字符串,演示示例5:字符

12、串的分割和连接,18,Split()方法分割字符串,示例5代码分析,splitStrings = inputString.Split( );,/ 将分割后的字符串使用下划线连接在一起 joinString = string.Join(“_“, splitStrings);,返回值为 字符串数组,字符串变量名,参数:分隔符(char型),返回字符串,静态方法,参数1:连接符 参数2:字符串数组,关键代码回顾:,示例5源代码,Join()方法连接字符串,19,Format() 方法,回顾两种输出字符串的方式:,string name = “王强“; Console.WriteLine(“我的名字是

13、 “ + name + “,我的年龄是“ + 18);,string name = “王强“; Console.WriteLine(“我的名字是 0 ,我的年龄是1 “, name,18);,格式字符串,String 类的 Format() 方法用来格式化字符串,变量列表,演示示例6:输出个人档案,20,示例 6 代码分析,关键代码回顾:,示例6源代码,record = string.Format( “姓名:0n出生年月:1n身高:2n 血型:3n星座:4n最喜欢的食物:5“, name, birthday, height, bloodType, planet, favourFood); Co

14、nsole.WriteLine(“n这是你的个人档案:“); Console.WriteLine(record);,参数与 WritLine() 方法相似,21,Format() 的语法小结,string myString = string.Format(“格式字符串“, 参数列表);,string myString = string.Format (“0 乘以 1 等于 2 “, 2, 3, 2*3);,格式字符串,代表,参数列表,2乘以3等于6,包括占位符x,22,小结,补充下划线处的占位符,输出五个成语,string yi = “一“; string er = “二“; string s

15、an = “三“; 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);,23,为什么需要类型转换,编译器要确切地知道数据的类型,int num = “123“ ;,整数,字符串,需要类型转换!,编译出错,24,怎样进行隐式类型转换,隐式转换:自动类型转换,float,int,规则:对于数值类型,A的取值范围完全包含在B内,A,B,25,static void Main(string args) double score = 58.5; / 原始成绩 int

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

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号