《变量与数据类型》PPT课件.ppt_第1页
《变量与数据类型》PPT课件.ppt_第2页
《变量与数据类型》PPT课件.ppt_第3页
《变量与数据类型》PPT课件.ppt_第4页
《变量与数据类型》PPT课件.ppt_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

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

文档简介

面向对象程序设计(VisualC#.NET),2,第2课变量与数据类型,本课介绍C#语言的变量与数据类型。本课主要介绍以下内容:C#的内置数据类型常量与变量的使用编写表达式枚举类型调试工具的使用异常处理,3,2.1C#基本数据类型,4,2.1C#基本数据类型,5,2.1C#基本数据类型,变量的使用必须先声明再使用,对比:VBScript等脚本语言可以直接使用变量,无需声明;C/C+等语言和C#一样必须先声明再使用;遇到没有见过的预定义类型如何使用?,参考MSDN(MicrosoftDeveloperNetwork)中的信息和样例代码。,6,2.2声明并初始化变量,声明指定类型指定变量名以分号结束,intnumberOfVisitors;,初始化变量使用赋值运算符(=)指定值以分号结束,1,2,3,1,2,3,赋值附加后缀,1,decimaldeposit=100M;,stringbear;,stringbear=Grizzly;,7,2.2声明并初始化变量,如何命名变量?给变量分配有意义的名称;使用大小写混合方案。该方案要求变量名的首字母小写,变量名中每个单词的首字母大写。如newAccountBalance切忌使用C#的关键字虽然C#区分大小写,但是不要仅仅通过大小写的不同来区分不同的变量。如Sum和sum的同时使用。,8,课堂讨论,1,3,请谷歌()或爱词霸()来帮忙。,2,我英文不好,如何给变量起合适的英文名?,9,演示:整数相乘,用户从键盘上输入整数,之后点击相乘按钮,将计算它们的积。,示例代码位于“CSharp示例第2课Multiply”,10,2.3声明及初始化字符串,示例声明字符串使用转义符使用verbatim字符串国际Unicode标准,strings=HelloWorld;/HelloWorld,strings=HellonWorld;/加了一行,strings=Hellon;/Hellon,strings=Hello;/Hello,字符“A”表示“U+0041”,11,2.4创建并使用枚举类型,定义枚举类型使用枚举类型显示变量,enumPlanetMercury,Venus,Earth,Mars,PlanetaPlanet=Planet.Mars;,Console.WriteLine(“0”,aPlanet);/显示Mars,12,2.4创建并使用枚举类型,讨论:为什么需要使用枚举类型?示例:MessageBox.Show方法的几种用法。,确保只将预定值赋给变量,使变量易于维护;允许给数值赋以简单易认的名字,提高代码可读性;易于输入,因为代码编辑器的“智能感知”功能会显示可使用的列表;允许指定一组常数值,并定义仅接受该组常数值的类型。,13,2.7课堂练习:使用C#类型,将服务器上“面向对象”课件的文件夹中的“Csharp示例”文件夹复制到本地磁盘上。打开“CSharp示例第2课TypesTypes.sln”复查任务列表本练习有3个任务,分别完成之:声明一个变量并将它初始化为SuzanFine声明变量,并把其初始化为135.20声明Planet变量,并赋值为Planet.Earth,然后显示该值。使用调试工具,单步遍历代码,用局部变量窗口来检查变量的值。保存应用程序,然后退出VisualStudio.NET,14,2.5创建和使用常量,使用const关键字以及该常量值的类型来声明一个常量声明常量时必须对其赋值,/地球的半径为6378kmconstintearthRadius=6378;/到太阳的平均距离为149600000kmconstlongmeanDistanceToSun=149600000;/平均轨道速度是29.79km/sconstdoublemeanOrbitalVelocity=29.79D;,参见教材P15,15,课堂讨论,为什么有必要使用常量?列举更多的需要使用常量的情况;,防止一些固定的量被无意修改,导致程序运算出现错误;,可能的情况有物理化学数学等学科在计算中使用的常量,一些现实中固定不变的量,例如英文字母的个数等等。,16,课后练习:计算圆柱体的体积,输入圆柱体的高度和宽度,计算它的表面积和体积。尝试定义一个常量来表示圆周率。,示例代码位于“CSharp示例第2课Cylinder”,17,2.6类型转换,隐式转换由编译器自动完成,但必须确保不会丢失信息显式转换需要明确要求编译器完成的转换,否则可能会丢失信息,intx=123456;/int是4字节的整型longy=x;/隐式转换为long,intx=65537;shortz=(short)x;/显式转换为short,z=1,18,2.8编写表达式,表达式和运算符确定运算符的优先级课堂练习使用运算符,19,2.8.1表达式和运算符,运算符就是表达式中的符号,可参考教材VisualC#程序设计教程P29P35,20,2.8.2确定运算符的优先级,按照运算符的优先级计算表达式可以使用圆括号控制运算的顺序左结合和右结合所有二元运算符都是左结合的赋值运算符和条件运算符是右结合的,(10+20)/5结果是610+(20/5)结果是14,10+20/5结果是14,21,课堂讨论,防止因不清楚运算符优先级而出现错误的办法是什么?,使用括号,按照预想的顺序对表达式求值。,22,2.8.3课堂练习:使用运算符,23,2.8.3课堂练习:使用运算符(续),5、打开“CSharp示例第2课OperatorsOperators.sln”6、单步跟踪代码,以检查前面所作答案的正确性。,24,2.9异常处理,异常:表示在应用程序执行期间发生的错误。异常处理的格式:,try可能运行期间出错的语句;catch(异常类型)处理异常的语句;finally始终要执行的语句,用于清理资源;,25,2.9异常处理,结合该示例说明异常处理:,26,2.10综合实例:某公司职工基本薪资的计算,某公司的月薪基数根据本月的公司效益进行确定。职工基本月薪根据其岗位系数来确定本人的月薪。该公司的岗位系数分为作业员、技术员、工程师、部门经理4级,其系数分别为0.9,1.0,1.5和2。现希望编制一个程序,输入公司的月薪基数和该职工的岗位,计算其该月基本月薪。如:该月公司月薪基数为850.00元,该职工为工程师,则其当月基本月薪为850.00*1.5=1275.00元。,通过本演示,了解NumericUpDown控件、ComboBox控件、TextBox控件的使用,及掌握如何使用枚举类型,并将枚举类型数据绑定到控件。,示例代码位于“CSharp示例第2课Salary”,27,演示:月薪计算,1、界面组成,NumericUpDown控件,命名为numBaseSalary,ComboBox控件,命名为combPost,TextBox控件,命名为txtSalary,Button控件,命名为btnCaculate,28,演示:月薪计算,2、控件属性设置,txtBaseSalary控件:Value:默认值,设为1000Maximum:最大值,设为5000Minimum:最小值,设为300Increment:增长值,设为10DecimalPlaces:小数位,设为2ThousandsSeparator:千分位符,设为True,combPost控件:DropDownStyle:组合框的风格,有以下几种形式,使用第3项:Simple:列表框部分总是可见,用户可以编辑文本DropDown:默认。正常时列表部分隐藏,用户可以编辑文本DropDownList:正常时列表部分隐藏,用户不可以编辑文本Items:组合框中列表项集合SelectedItem:用户选择的项目,29,演示:月薪计算,2、控件属性设置使用集合编辑器设置组合框(combPost)的列表项,30,演示:月薪计算,为使得运行时,第0项处于选中状态,在Form1_Load事件中,添加以下代码:,privatevoidForm1_Load(objectsender,System.EventArgse)/设置第0项为默认选项combPost.SelectedItem=combPost.Items0;,31,演示:月薪计算,3、读取用户输入的数值,decimalbaseSalary=numBaseSalary.Value;doublepostCoefficient=1.0;stringpost=combPost.SelectedItem.ToString();if(post=作业员)postCoefficient=0.8;elseif(post=技术员)postCoefficient=1.0;,使用if语句判断,32,演示:月薪计算,4、计算并输出有关格式化输出String.Format()方法的介绍,请参见教材P32.,decimalsalary=baseSalary*(decimal)postCoefficient;txtSalary.Text=String.Format(0:C,salary);,33,演示:月薪计算,5、进一步改进,将第3步的判断,由原来的if语句改成switch语句,decimalbaseSalary=numBaseSalary.Value;doublepostCoefficient=1.0;stringpost=combPost.SelectedItem.ToString();switch(post)case作业员:postCoefficient=0.8;break;case技术员:postCoefficient=1.0;break;,使用switch语句判断,34,演示:月薪计算,6、进一步考虑,使用枚举类型岗位(Post)枚举类型的定义:注意该类型定义的位置。,enumPost作业员,技术员,工程师,部门经理,35,演示:月薪计算,6、枚举类型及其与控件的数据绑定将枚举值添加到combPost控件的列表中下列代码添加在Form1_Load事件中,以在程序启动时就执行。,combPost.Items.Add(Post.作业员);combPost.Items.Add(Post.技术员);combPost.Items.Add(Post.工程师);combPost.Items.Add(Post.部门经理);combPost.SelectedItem=combPost.Items0;,36,演示:月薪计算,7、将计算过程抽象为1个独立的Caculate()方法。然后在按钮btnCaculate的单击事件中调用。,privatevoidCaculateSalary()decimal=numBaseSalary.Value;tx

温馨提示

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

评论

0/150

提交评论