accp5.0 使用C#开发数据库应用程序(C#Wins) 第3章.ppt_第1页
accp5.0 使用C#开发数据库应用程序(C#Wins) 第3章.ppt_第2页
accp5.0 使用C#开发数据库应用程序(C#Wins) 第3章.ppt_第3页
accp5.0 使用C#开发数据库应用程序(C#Wins) 第3章.ppt_第4页
accp5.0 使用C#开发数据库应用程序(C#Wins) 第3章.ppt_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第三章,用 Hello ACCP.NET 快速热身(三),回顾,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 控制台应用程序 计算缴税后的工资 交换两个数 处理用户邮件

2、地址 字符串分割后重新连接 输出个人档案 一个数转换为其他类型,本章目标,掌握 C# 中方法的定义和使用 掌握 C# 中参数的传递方式 掌握常用的 String 类的方法 能够进行常用数据类型之间的转换,C# 中的命名空间,using System; using System.Collections.Generic; using System.Text; namespace HelloACCP class Program static void Main(string args) / ,系统定义的命名空间,自定义的命名空间,命名空间: 一种组织代码的方法 代码及内容唯一标识,引用命名空间,us

3、ing 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

4、 .NET); ,如果不使用using, 要使用完全限定名称,WriteLine() 方法的完全限定名称,使用 using 引用命名空间,示例1源代码,方法的基本概念,回顾:什么是方法?使用方法有什么好处?,类的行为,便于修改、增加可读性、可重用、封装,C# 中方法的定义形式:,访问修饰符 返回类型 方法名 ( 参数列表 ) / 方法的主体 ,public private,int double string void ,命名规范:单词首字母大写Pascal命名法,参数传递与Java有所不同,参数的值传递方式,工资计税的方法为:低于等于1600不计税,超出1600的部分按10%缴税,int pa

5、y; / 税前工资 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:自定义方法计

6、算税后工资,示例2代码分析,关键代码回顾:,示例2源代码,/ 此方法根据税前工资计算税后工资 private static float GetPay( int pay, float taxRate ) float afterTax; if (pay = 1600) / 低于1600不缴税 afterTax = pay; else / 高于1600 部分按税率缴税 afterTax = pay - (pay - 1600) * taxRate; return afterTax; ,传入税前工资、税率,返回税后工资,为什么使用 ref,下面代码输出结果是什么?,static void Main(s

7、tring args) int num1 = 5, num2 = 10; / 两个数字 Console.WriteLine(交换前两个数的值分别为:0和1, num1, num2); Swap(num1, num2); / 交换两个数的值 Console.WriteLine(交换后两个数的值分别为:0和1, num1, num2); / 交换两个数的方法 private static void Swap(int num1, int num2) int temp; / 中间变量 temp = num1; num1 = num2; num2 = temp; ,值传递不能保留参数的修改 要按引用传递

8、,使用 ref,通过引用传递参数,ref 修饰参数: 调用方法后,参数值的更改仍然保留,演示示例3:使用 ref 交换两个数,示例 3 分析,static void Main(string args) Console.WriteLine(交换前两个数的值分别为:0和1, num1, num2); / 交换两个数的值 Swap(ref num1, ref num2); Console.WriteLine(交换后两个数的值分别为:0和1, num1, num2); ,/ 交换两个数的方法 private static void Swap(ref int num1, ref int num2) in

9、t temp; / 中间变量 temp = num1; num1 = num2; num2 = temp; ,调用时也要使用 ref,两种传参方式的比较,调用方法,方法定义,ModifyValue( num1, ref num2);,ModifyValue( int param1, ref int param2) ;,调用前,num1=3,num2=5,param1=3,param2=5,方法中修改:,调用后,param1=4,param2=6,num1=3,num2=6,调用,值传递,引用传递,IDE 使用技巧进阶,在示例3上演示:,使用 VS 的重构功能,重新提取方法,小结,比较两个数的大

10、小,自定义比较两个整数大小的方法: 如果第一个数大,返回1 如果相等返回0 如果第一个数小,返回-1 在 Main() 方法中输入两个数,调用这个方法,参考答案,/ 比较两个数大小的方法 private static int Compare(int num1, int num2) if (num1 num2) return 1; else if (num1 = num2) return 0; else return -1; ,String常用方法,回顾:Java 中常用的字符串处理方法?,C# 中常用的字符串处理方法: Equals() :比较两个字符串的值是否相等 Join():连接字符串

11、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 时

12、,程序循环执行 2、 兼容以下各种形式 yes(YES、yes、 YeS .) 3、 提取邮箱的用户名,演示示例4:String 常用方法,String 常用方法应用2,输入一个字符串,输出每个单词,重新用下划线连接输出,使用 Split() 方法分割字符串 使用 Join() 方法连接字符串,演示示例5:字符串的分割和连接,Split()方法分割字符串,示例5代码分析,splitStrings = inputString.Split( );,/ 将分割后的字符串使用下划线连接在一起 joinString = string.Join(_, splitStrings);,返回值为 字符串数组,字

13、符串变量名,参数:分隔符(char型),返回字符串,静态方法,参数1:连接符 参数2:字符串数组,关键代码回顾:,示例5源代码,Join()方法连接字符串,Format() 方法,回顾两种输出字符串的方式:,string name = 王强; Console.WriteLine(我的名字是 + name + ,我的年龄是 + 18);,string name = 王强; Console.WriteLine(我的名字是 0 ,我的年龄是1 , name,18);,格式字符串,String 类的 Format() 方法用来格式化字符串,变量列表,演示示例6:输出个人档案,示例 6 代码分析,关键代

14、码回顾:,示例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

15、 (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

16、word = string.Format( 独0无1,2心1意,垂涎2尺,略知01,举0反2, yi, er, san); Console.WriteLine(word);,为什么需要类型转换,编译器要确切地知道数据的类型,int num = 123 ;,整数,字符串,需要类型转换!,编译出错,怎样进行隐式类型转换,隐式转换:自动类型转换,float,int,规则:对于数值类型,A的取值范围完全包含在B内,A,B,static void Main(string args) double score = 58.5; / 原始成绩 int bonus = 2; / 加分 int sum; / 总分

17、 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()

18、进行转换,字符串和数值型的互相转换,int,float,double,string,int.Parse( ),float.Parse( ),double.Parse( ),ToString(),必须是数字的 有效表示形式!,使用 Convert 类进行转换,使用 Convert :Convert.ToXxx(object value),Convert.ToInt32(),Convert.ToSingle(),Convert.ToString(),double 85.63,string 85.63,int 86,float 85.63,演示示例7:不同类型的相互转换,Parse 与 Convert,Xxx.Parse(string),目标类型的有效表示形式,Convert.ToXxx(object):,注:Xxx表示某种类型,字符串,其他类型,任意类型,其他类型,小结,类型转换有几种方式?,string myString = Hello; int myInt = int.Parse(m

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论