第三章第三章数据类型数据类型第一页,共四十四页。回顾Pascal和Camel命名法类和对象C#的Main方法Console.WriteLine()方法2第二页,共四十四页。工作任务3第三页,共四十四页。本章目标使用C#中的基本数据类型理解装箱和拆箱的概念4第四页,共四十四页。3.1类型概述C#语言中的每一个类型都直接或间接派生于object类型,即object类型是C#语言所有类型的最终基类型。5第五页,共四十四页。C#的基本数据类型3-1C#中的数据类型分为两个基本类别值类型-表示实际数据-只是将值存放在内存中-值类型都存储在堆栈中-int、char、结构引用类型-表示指向数据的指针或引用-包含内存堆中对象的地址-为null,则表示未引用任何对象-类、接口、数组、字符串6第六页,共四十四页。值类型和引用类型细分数组:int[],string[]数组接口:interface接口自定义类:class字符串:string基类:System.Object类引用类型结构:struct结构类型枚举:enum枚举类型布尔型:bool字符型:char浮点型:float长整型:long整型:int基本数据类型值类型描述类别7第七页,共四十四页。3.2值类型值类型包括结构类型、枚举类型、布尔类型、自定义结构类型、sbyte、byte、char、short、ushort、int、uint、long、ulong、float、double和decimal类型。值类型的变量直接包含其数据,其值不可能为null。8第八页,共四十四页。3.2.2整数类型整数类型包括9种类型,如sbyte、byte、short等。它们的具体说明、.NETFramework中的名称和取值范围如表3.1所示。1.int类型2.long类型3.char类型类型描述.NETFramework中的名称取值范围sbyte有符号8位整数System.SByte-128~127byte无符号8位整数System.Byte0~255short有符号16位整数System.Int16-32768~32767ushort无符号16位整数System.UInt160!65535int有符号32位整数System.Int32-2147483648~2147483647uint无符号32位整数System.UInt320~4294967295long有符号64位整数System.Int64-9223372036854775808~9223372036854775807ulong无符号64位整数System.UInt640~18446744073709551615char无符号16位整数System.Char0~65535,16位的Unicode字符。9第九页,共四十四页。3.2.3浮点型C#语言包括两种浮点型:float和double。float类型表示32位的单精度浮点数,它的取值范围为±1.5e-45~±3.4e38。double类型表示64位的双精度浮点数,它的取值范围为±5.0e-324~±1.7e308。浮点数包括以下3种特殊的值。正零和负零正无穷大和负无穷大非数字(Not-a-Number)值书写时在数字后加f和d区分。10第十页,共四十四页。3.2.4decimal类型decimal类型表示128位的数值,取值范围为±1.0e-28~±7.9e28,特别适用于财务计算和货币计算。在书写decimal类型的值时,需要在数值后添加后缀m,否则编译出错。在浮点型和decimal类型之间不存在隐式转换。如果要转换浮点型到decimal类型,则必须使用强制转换方法。11第十一页,共四十四页。3.2.5bool类型bool类型表示布尔逻辑量。它只包含两个值:true和false,而且这两个值意义恰好相反。12第十二页,共四十四页。数据类型-2类型别名描述sbyteSystem.SByte8位有符号的整数,-128到127之间shortSystem.Int1616位有符号的整数,-32768到32767之间intSystem.Int3232位有符号的整数,-231到231-1之间longSystem.Int6464位有符号的整数,-263到263-1之间byteSystem.Byte8位无符号的整数,0到255之间ushortSystem.Uint1616位无符号的整数,0到65535之间uintSystem.Uint3232位无符号的整型,0到232-1之间ulongSystem.Uint6464位无符号的整数,0到264-1之间charSystem.Char标识一个16位的字符floatSystem.Single32位单精度浮点数doubleSystem.Double64位双精度浮点数decimalSystem.Decimal128位高精度十进制数标识法boolSystem.Booleantrue或者false13第十三页,共四十四页。3.2.6枚举类型枚举(enum)类型也是一种值类型,它具有命名常量的独特的类型。枚举类型一般包含一个或多个枚举值,每一个枚举值之间用逗号(,)分隔。枚举值又称为枚举数,它的默认基础类型为int。默认情况下,第一个枚举数的值为0,后面的每一个枚举数的值依次增1。14第十四页,共四十四...