分享
分销 收藏 举报 申诉 / 33

类型c-sharp-面向对象课程第二章.ppt

  • 上传人:仙人****88
  • 文档编号:14754734
  • 上传时间:2026-11-14
  • 格式:PPT
  • 页数:33
  • 大小:294.50KB
  • 下载积分:10 金币
  • 配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    sharp 面向 对象 课程 第二
    资源描述:
    单击此处编辑母版标题样式,*,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,面向对象程序设计,第,2,章 数据类型、运算符与表达式,石家庄学院 计算机系,何东彬,2011,、,10,修订第三版,第,2,章 数据类型、运算符与表达式,数据类型,类型转换,运算符和表达式,2.1,数据类型,C#,语言支持以下数据类型:,数据类型,值类型,引用类型,结构类型,简单类型,枚举类型,整数类型,浮点类型,小数类型,字符类型,布尔类型,类类型,数组类型,接口类型,值类型用来存储实际值,而引用类型则用来存储对实际数据的引用。,2.1.1,值类型,值类型包含,简单类型,、,枚举类型,和,结构类型,。类型是同类型数据的抽象,不同的类型在,C#,中用不同的类型标识符来表示。如表,2-1,。,表,2-1,值类型,类型,描述,简单类型,(Simple type),有符号整数:,sbyte,short,int,long,无符号整数:,byte,ushort,uint,ulong,字符类型:,char,浮点类型:,float,double,小数类型:,decimal,布尔类型:,bool,枚举类型,(,Enum,type),enum,E,结构类型,(,Struct,type),struct,S,1.,简单类型,从计算机的表示角度来看,简单类型又可分为:,整数类型,浮点类型,小数类型,布尔类型,字符类型,所有的简单类型(,C#,语言的组成部分)均为,.NET Framework,系统类型的别名。例如,,int,是,System.Int32,的别名。,整数类型,C#,中提供了,8,种整数类型,它们的取值范围及类型标识符见表,2-2,所示。,描述,位数,类型标识符,取值范围,有符号整数,8,sbyte,-128127,16,short,-3276832767,32,int,-2147483648-2147483647,64,long,-92233720368547758089223372036854775807,无符号整数,8,byte,0255,16,ushort,065535,32,uint,04294967295,64,ulong,018446744073709551615,表,2-2,整数类型表,C#,提供了两种数据类型来表示小数:,单精度浮点型,(float),和,双精度浮点型,(double),。两者的划分依据是取值范围和精度的不同,见表,2-3,。,浮点类型,表,2-3,浮点类型表,描述,位数,类型标识符,取值范围,单精度浮点型,32,float,1.510-453.41038,,,7,位精度,双精度浮点型,64,double,5.0,10,-324,1.7,10,308,,,1516,位精度,小数类型,为了满足财务和金融计算领域方面,高精度,的要求,,C#,提供了,小数类型(,decimal,),这种高精度的数据类型,避免浮点类型计算造成的误差。,小数类型数据的后面必须加,m,或,M,后缀来表示它是小数类型的,,,如:,3.14m,。否则会被解释成标准的浮点类型的数据。,表,2-4,列出了小数类型的取值范围及精度。,表,2-4,小数类型表,描述,位数,类型标识符,取值范围,十进制类型,128,decimal,1.0,10,-28,7.9,10,28,28,到,29,位有效,字符类型,C#,提供的字符类型按照国际上公认的标准,采用,Unicode,字符集,。它可以表示世界上大部分语言种类。所有,Unicode,字符的集合构成字符类型。,表,2-5,字符类型表,描述,位数,数据类型,取值范围,字符类型,16,char,U+0000,到,U+ffff,16,位,Unicode,字符,char name=a;,char,类型的变量值必须用单引号括起来。单引号内的字符数量必须且只能是一个。,表,2-6,转义字符,转义符,含义,单引号,”,双引号,反斜杠,0,空字符(,Null,),a,发出一个警告,b,倒退一个字符,f,换页,n,换行,将当前的位置移到下一行开头,r,回车,将当前的位置移到本行的开头,t,水平方向的,Tab,v,垂直方向的,Tab,为了表示单引号和反斜杠等特殊的字符,,C#,提供了转义符,如下:,示例:类型,布尔类型,布尔类型表示现实中的“真”或“假”这两个概念,主要用来进行逻辑判断。在,C#,中,分别采用,true,和,false,这两个值来表示“真”和“假”,如表,2-7,所示。,表,2-7,布尔类型,描述,位数,数据类型,取值范围,布尔类型,8,bool,True,或,False,2.,枚举类型,一个代表季节的枚举类型,Season,,可以这样声明:,enum,Season,Spring,Summer,Autumn,Winter;,enum,关键字,用于声明枚举。,Season,是枚举名。,花括号“,”,和“,”,括起来的部分是枚举成员表,枚举成员 之间用逗号分隔。,任何两个枚举成员不能具有相同的名称。,示例:枚举,几种为枚举成员赋值的情况,(,1,)为第,1,个枚举成员赋值,enum,Season Spring=1,Summer,Autumn,Winter;,在此枚举中,强制元素序列从,1,而不是,0,开始。,(,2,)为某一个枚举成员赋值,enum,Season Spring,Summer,Autumn=6,Winter;,(,3,)为多个枚举成员赋值,enum,Season Spring,Summer=4,Autumn=6,Winter;,枚举成员的值在不经过显示转换前,是不会变换成整数值的。,示例:枚举取值,3.,结构类型,我们会经常碰到一些更为复杂的情况。比如,同学录的记录中包含姓名、性别、家庭住址等信息。,C#,中提供了一种称为结构类型的数据类型用来有组织地把这些不同类型的数据信息存放到一起。,结构类型是用户自定义的数据类型。,struct,结构名,/,结构成员定义,;,示例:结构体,2.1.2,引用类型,值类型比较简单,对于那些结构比较复杂、抽象能力比较强的数据,就需要使用引用类型来定义。,C#,中引用类型有,4,种:,类类型,数组类型,接口类型,委托类型,2.2,类型转换,在,C#,语言中,数据类型的转换可以分为两类:隐式类型转换和显式类型转换。,隐式类型转换是,系统默认的,、,不需要加以声明,就可以进行的转换。,在隐式类型转换过程中,编译器,无需,对转换进行,详细检查,就能够,安全地,执行转换。,比如,从,int,类型转换到,long,类型就是一种隐式类型转换。,表,2-8,隐式转换表,类型,可以安全的转换为,sbyte,short,、,int,、,long,、,float,、,double,或,decimal,byte,short,、,ushort,、,int,、,uint,、,long,、,ulong,、,float,、,double,或,decimal,short,int,、,long,、,float,、,double,或,decimal,ushort,int,、,uint,、,long,、,ulong,、,float,、,double,或,decimal,int,long,、,float,、,double,或,decimal,uint,long,、,ulong,、,float,、,double,或,decimal,long,float,、,double,或,decimal,ulong,float,、,double,或,decimal,char,ushort,、,int,、,uint,、,long,、,ulong,、,float,、,double,或,decimal,float,double,例,2-2,隐式类型转换(将字符类型隐式转换为整型),using System;,using,System.Collections.Generic,;,using,System.Text,;,namespace,ConvertData,class Program,static void,Main(string,args,),char c=a;,Console.WriteLine(c,=0,c);,int,Q=c;,Console.WriteLine(Q,=0,Q);,为什么系统可以自动、默认地进行隐式转换?,例,2-3,隐式类型转换(将整型隐式转换为字符类型),using System;,using,System.Collections.Generic,;,using,System.Text,;,namespace,ConvertData,class Program,static void,Main(string,args,),int,a=97;,Console.WriteLine(a,=0,a);,char c=a;,Console.WriteLine(c,=0,c);,请问是否可以自动、默认地进行隐式转换?,2.2.2,显式类型转换,显式类型转换又叫做强制类型转换。,与隐式类型转换相反,显式转换需要用户明确的指定转换类型。,格式如下:,(类型标识符),表达式,如:(,int,),3.14,把,double,类型的,3.14,转换成,int,类型。,除了使用这种方式进行显式转换外,还可以使用,Convert,命令进行显式转换。,表,2-9 Convert,命令进行的显示转换,命令,结果,Convert.ToBoolean(val,),val,转换为,bool,Convert.ToByte(val,),val,转换为,byte,Convert.ToChar(val,),val,转换为,char,Convert.ToDecimal(val,),val,转换为,decimal,Convert.ToDouble(val,),val,转换为,double,Convert.ToInt16(val),val,转换为,short,Convert.ToInt32(val),val,转换为,int,Convert.ToInt64(val),val,转换为,long,Convert.ToSByte(val,),val,转换为,sbyte,Convert.ToSingle(val,),val,转换为,float,Convert.ToString(val,),val,转换为,string,Convert.ToUInt16(val),val,转换为,ushort,Convert.ToUInt32(val),val,转换为,uint,Convert.ToUInt64(val),val,转换为,ulong,表,2-10,显式转换表,类型,可以转换的类型,sbyte,byte,、,ushort,、,uint,、,ulong,或,char,byte,sbyte,或,char,short,sbyte,、,byte,、,ushort,、,uint,、,ulong,或,char,ushort,sbyte,、,byte,、,short,或,char,int,sbyte,、,byte,、,short,、,ushort,、,uint,、,ulong,或,char,uint,sbyte,、,byte,、,short,、,ushort,、,int,或,char,long,sbyte,、,byte,、,short,、,ushort,、,int,、,uint,、,ulong,或,char,ulong,sbyte,、,byte,、,short,、,ushort,、,int,、,uint,、,long,或,char,char,sbyte,、,byte,或,short,float,sbyte,、,byte,、,short,、,ushort,、,int,、,uint,、,long,、,ulong,、,char,或,decimal,double,sbyte,、,byte,、,short,、,ushort,、,int,、,uint,、,long,、,ulong,、,char,、,float,或,decimal,decimal,sbyte,、,byte,、,short,、,ushort,、,int,、,uint,、,long,、,ulong,、,char,、,float,或,double,2.3,运算符和表达式,运算符是表示各种不同运算的符号。,当执行加法、减法、乘法和除法运算时分别需要使用、,*和,/,符号,这些符号,(,、*和,/),称为运算符。,表达式是用运算符,将运算对象连接起来的运算式,是程序语言中最基本的对数据进行加工和处理的过程。,单个常数或变量也是表达式。,2.3.1,运算符的类型,C#,提供了非常丰富的运算符,大致可以分为以下几类:,算术运算符,赋值运算符,关系运算符,逻辑运算符,位运算符,条件运算符,其他运算符等。,算术运算符,算术运算符用于对操作数进行算术运算,,C#,的算术运算符见表,2-11,。,运算符,含义,+,加,减,*,乘,/,除,%,取余,+,自增,1,-,自减,1,表,2-11,算术运算符,关系运算符,关系运算符用于比较两个值的大小,返回一个布尔值。,C#,的关系运算符见表,2-12,。,表,2-12,关系运算符,运算符,含义,=,等于,!=,不等于,大于,=,大于等于,逻辑运算符,逻辑运算符用于表示两个布尔值之间的逻辑关系,逻辑运算结果是布尔型。,C#,的逻辑运算符见表,2-13,。,表,2-13,逻辑运算符,运算符,描述,!,逻辑非,&,逻辑与,|,逻辑或,位运算符,位运算符对运算对象进行位的运算,是指进行二进制位的运算。,C#,的位运算符见表,2-14,。,表,2-14,位运算符,运算符,描述,按位取反,&,按位与,|,按位或,右移,按位异或,赋值运算符,赋值运算符用于将一个数据赋予一个变量。赋值运算符的,左操作数必须是一个变量,而不能是常量,,也不能是表达式。,C#,的赋值运算符为“,=”,。,在赋值运算符的基础上加上其他运算符,就构成了复合赋值运算符。,C#,的复合赋值运算符见表,2-15,。,表,2-15,复合赋值运算符,运算符,描述,+=,x+=1,等价于,x=x+1,-=,x-=1,等价于,x=x-1,*,=,x*=1,等价于,x=x*1,/=,x/=1,等价于,x=x/1,%=,x%=1,等价于,x=x%1,&=,X&=1,等价于,x=x&1,|=,x|=1,等价于,x=x|1,=,x=1,等价于,x=x1,=,x=1,等价于,x=x1,=,x=1,等价于,x=x,关系运算符,=,is,as,等于运算符,=,!=,逻辑“与”运算符,&,逻辑“异或”运算符,逻辑“或”运算符,|,条件“与”运算符,&,条件“或”运算符,|,条件运算符,?:,赋值运算符,=,*=,/=,%=,+=,-=,=,&=,=,2.3.2,表达式,表达式是由运算符、变量和常量等组成的符号序列。,若表达式中包含多个运算符,则该表达式的类型是通过在表达式中执行的最后一次运算的运算符的类型进行划分的。,示例:表达式的类型,Thank you,For your attention,!,Have a rest,!,The end,!,
    展开阅读全文

    开通VIP折扣优惠下载文档

    提示  咨信网声明:本文档由用户上传并分享,仅供学习交流、研究之用,未经授权,严禁复制、发行、汇编、翻译或网络传播等,侵权必究。

    咨信网小贴示:
    1、浏览或下载可查看了解,请点击【咨信网告知】。
    2、下载文件中如有侵权或不适当内容,将立即纠正。
    3、如果因为网速或其他原因下载失败请重新下载,重复下载[60天内]不扣币。
    4、开具发票登录电脑端申请,请点击【索取发票】。

    咨信网客服组:【微信客服】

    自信AI创作助手
    关于本文
    本文标题:c-sharp-面向对象课程第二章.ppt
    链接地址:https://www.zixin.com.cn/doc/14754734.html

    Copyright ©2010-2026   All Rights Reserved  宁波自信网络信息技术有限公司 版权所有   |  客服电话:0574-28810668    微信客服:咨信网客服    投诉电话:18658249818   

    违法和不良信息举报邮箱:help@zixin.com.cn    文档合作和网站合作邮箱:fuwu@zixin.com.cn    意见反馈和侵权处理邮箱:1219186828@qq.com   | 证照中心

    12321jubao.png12321网络举报中心 电话:010-12321  jubao.png中国互联网举报中心 电话:12377   gongan.png浙公网安备33021202000488号  icp.png浙ICP备2021020529号-1 浙B2-20240490   


    关注我们 :微信公众号  抖音  微博  LOFTER               

    自信网络  |  ZixinNetwork