面向对象程序语言设计TP3V.ppt

上传人:zhu****ei 文档编号:5433341 上传时间:2020-01-29 格式:PPT 页数:30 大小:1.76MB
返回 下载 相关 举报
面向对象程序语言设计TP3V.ppt_第1页
第1页 / 共30页
面向对象程序语言设计TP3V.ppt_第2页
第2页 / 共30页
面向对象程序语言设计TP3V.ppt_第3页
第3页 / 共30页
点击查看更多>>
资源描述
第三章 用HelloACCP NET快速热身 三 2 本章任务 编写HelloACCP NET控制台应用程序计算缴税后的工资交换两个数处理用户邮件地址字符串分割后重新连接输出个人档案一个数转换为其他类型 3 本章目标 掌握C 中方法的定义和使用掌握C 中参数的传递方式掌握常用的String类的方法能够进行常用数据类型之间的转换 4 C 中的命名空间 usingSystem usingSystem Collections Generic usingSystem Text namespaceHelloACCP classProgram staticvoidMain string args 系统定义的命名空间 自定义的命名空间 命名空间 一种组织代码的方法代码及内容唯一标识 5 引用命名空间 usingSystem 引用System命名空间namespaceHelloACCP classProgram staticvoidMain string args Console WriteLine HelloACCP NET 不引用System命名空间 usingSystem namespaceHelloACCP classProgram staticvoidMain string args Console WriteLine HelloACCP NET System Console WriteLine HelloACCP NET 如果不使用using 要使用完全限定名称 WriteLine 方法的完全限定名称 使用using引用命名空间 示例1源代码 6 方法的基本概念 回顾 什么是方法 使用方法有什么好处 类的行为 便于修改 增加可读性 可重用 封装 C 中方法的定义形式 访问修饰符返回类型方法名 参数列表 方法的主体 publicprivate intdoublestringvoid 命名规范 单词首字母大写 Pascal命名法 参数传递与Java有所不同 7 参数的值传递方式 工资计税的方法为 低于等于1600不计税 超出1600的部分按10 缴税 intpay 税前工资floattaxRate 0 1f 税率floatafterTax 税后工资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 自定义方法计算税后工资 8 示例2代码分析 关键代码回顾 示例2源代码 此方法根据税前工资计算税后工资privatestaticfloatGetPay intpay floattaxRate floatafterTax if pay 1600 低于1600不缴税 afterTax pay else 高于1600部分按税率缴税 afterTax pay pay 1600 taxRate returnafterTax 传入税前工资 税率 返回税后工资 9 为什么使用ref 下面代码输出结果是什么 staticvoidMain string args intnum1 5 num2 10 两个数字Console WriteLine 交换前两个数的值分别为 0 和 1 num1 num2 Swap num1 num2 交换两个数的值Console WriteLine 交换后两个数的值分别为 0 和 1 num1 num2 交换两个数的方法privatestaticvoidSwap intnum1 intnum2 inttemp 中间变量temp num1 num1 num2 num2 temp 值传递不能保留参数的修改要按引用传递 使用ref 10 通过引用传递参数 ref修饰参数 调用方法后 参数值的更改仍然保留 演示示例3 使用ref交换两个数 11 示例3分析 staticvoidMain string args Console WriteLine 交换前两个数的值分别为 0 和 1 num1 num2 交换两个数的值Swap refnum1 refnum2 Console WriteLine 交换后两个数的值分别为 0 和 1 num1 num2 交换两个数的方法privatestaticvoidSwap refintnum1 refintnum2 inttemp 中间变量temp num1 num1 num2 num2 temp 调用时也要使用ref 12 两种传参方式的比较 调用方法 方法定义 ModifyValue num1 refnum2 ModifyValue intparam1 refintparam2 调用前 num1 3 num2 5 param1 3 param2 5 方法中修改 调用后 param1 4 param2 6 num1 3 num2 6 调用 值传递 引用传递 13 IDE使用技巧进阶 在示例3上演示 使用VS的重构功能 重新提取方法 14 小结 比较两个数的大小 自定义比较两个整数大小的方法 如果第一个数大 返回1如果相等返回0如果第一个数小 返回 1在Main 方法中输入两个数 调用这个方法 参考答案 比较两个数大小的方法privatestaticintCompare intnum1 intnum2 if num1 num2 return1 elseif num1 num2 return0 else return 1 15 String常用方法 回顾 Java中常用的字符串处理方法 C 中常用的字符串处理方法 Equals 比较两个字符串的值是否相等Join 连接字符串Split 分割字符串IndexOf 查找某个字符在字符串中的位置SubString 从字符串中截取子字符串ToLower 将字符串转换成小写形式Trim 去掉字符串两边的空格 16 String常用方法应用1 已有如下代码 按要求增加功能 staticvoidMain string args stringemail 电子邮件地址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 字符串的分割和连接 18 Split 方法 分割字符串 示例5代码分析 splitStrings inputString Split 将分割后的字符串使用下划线连接在一起joinString string Join splitStrings 返回值为字符串数组 字符串变量名 参数 分隔符 char型 返回字符串 静态方法 参数1 连接符参数2 字符串数组 关键代码回顾 示例5源代码 Join 方法 连接字符串 19 Format 方法 回顾两种输出字符串的方式 stringname 王强 Console WriteLine 我的名字是 name 我的年龄是 18 stringname 王强 Console WriteLine 我的名字是 0 我的年龄是 1 name 18 格式字符串 String类的Format 方法用来格式化字符串 变量列表 演示示例6 输出个人档案 20 示例6代码分析 关键代码回顾 示例6源代码 record string Format 姓名 0 n出生年月 1 n身高 2 n血型 3 n星座 4 n最喜欢的食物 5 name birthday height bloodType planet favourFood Console WriteLine n这是你的个人档案 Console WriteLine record 参数与WritLine 方法相似 21 Format 的语法小结 stringmyString string Format 格式字符串 参数列表 stringmyString string Format 0 乘以 1 等于 2 2 3 2 3 格式字符串 代表 参数列表 2乘以3等于6 包括占位符 x 22 小结 补充下划线处的占位符 输出五个成语 stringyi 一 stringer 二 stringsan 三 stringword string Format 独 无 心 意 垂涎 尺 略知 举 反 yi er san Console WriteLine word 趣味编程 看谁写的巧 参考答案 stringyi 一 stringer 二 stringsan 三 stringword string Format 独 0 无 1 2 心 1 意 垂涎 2 尺 略知 0 1 举 0 反 2 yi er san Console WriteLine word 23 为什么需要类型转换 编译器要确切地知道数据的类型 intnum 123 整数 字符串 需要类型转换 编译出错 24 怎样进行隐式类型转换 隐式转换 自动类型转换 float int 规则 对于数值类型 A的取值范围完全包含在B内 A B 25 staticvoidMain string args doublescore 58 5 原始成绩intbonus 2 加分intsum 总分sum score bonus 计算总分Console WriteLine sum Console ReadLine 怎样进行显式类型转换 staticvoidMain string args doublescore 58 5 intbonus 2 intsum sum int score bonus Console WriteLine sum Console ReadLine 明确告诉编译器转换类型注意 double 58 5 int 58 精度可能丢失 显式转换 强制类型转换 26 使用Parse 进行转换 字符串和数值型的互相转换 int float double string int Parse float Parse double Parse ToString 必须是数字的有效表示形式 27 使用Convert类进行转换 使用Convert Convert ToXxx objectvalue Convert ToInt32 Convert ToSingle Convert ToString double85 63 string 85 63 int86 float85 63 演示示例7 不同类型的相互转换 28 Parse与Convert Xxx Parse string 目标类型的有效表示形式 Convert ToXxx object 注 Xxx表示某种类型 字符串 其他类型 任意类型 其他类型 29 小结 类型转换有几种方式 stringmyString Hello intmyInt int Parse myString doublescore 59 3 intmyInt Convert ToInt32 score doublescore 92 6 stringmyString score ToString 错误 字符串不是有效的整数形式 转换成功 myString为 92 6 转换成功 但精度丢失 myInt为59 下面各种转换的结果是什么 30 总结 自定义方法由哪几部分构成 String类的Format 方法的参数包括什么 Parse 与Convert分别把什么类型转为什么类型
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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