C#第3章常量、变量与方法3H.ppt
《C#第3章常量、变量与方法3H.ppt》由会员分享,可在线阅读,更多相关《C#第3章常量、变量与方法3H.ppt(45页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、高级编程技术高级编程技术Visual C#.NET Programming聊城大学聊城大学 理工学院理工学院曹银杰曹银杰第三章第三章常量、变量与方法常量、变量与方法F3.1 3.1 数据类型数据类型 F3.2 3.2 常量常量F3.3 3.3 变量变量F3.4 3.4 复杂的变量类型复杂的变量类型F3.5方法方法F3.6数据类型转换数据类型转换3.1 3.1 数据类型数据类型F数数据据是是程程序序处处理理的的对对象象。不不同同数数据据类类型型其其存存储储形形式式、取取值值范范围围、所所能能进进行行的的运运算算是是不不同同的的。把把数数据据分分成成不不同同数数据据类类型可提高计算机存储、运算效率
2、。型可提高计算机存储、运算效率。FC#C#中中数数据据类类型型就就是是类类,由由其其声声明明的的常常量量、变变量量就就是是类类的的对对象。所以声明的数据就有了属性、方法和事件成员。象。所以声明的数据就有了属性、方法和事件成员。F本节内容:本节内容:1 1、C#C#两种数据类型两种数据类型2 2、C#C#数据类型与数据类型与数据类型的对应数据类型的对应3 3、数据类型使用举例、数据类型使用举例1、C#两种数据类型两种数据类型C#C#中的数据类型分为两个基本类别中的数据类型分为两个基本类别 F值类型值类型 -表示实际数据表示实际数据 -只是将值存放在内存中只是将值存放在内存中 -值类型都存储在堆栈
3、中值类型都存储在堆栈中 -如如intint、charchar、结构类型、结构类型-对一个变量的操作不影响另一个变量对一个变量的操作不影响另一个变量F引用类型引用类型 -表示指向数据的指针或引用表示指向数据的指针或引用 -包含内存堆中对象的地址包含内存堆中对象的地址 -为为 nullnull,则表示未引用任何对象,则表示未引用任何对象 -如类、接口、数组、字符串类型如类、接口、数组、字符串类型-对于引用类型,两个变量可能引用同一个对象,因此对于引用类型,两个变量可能引用同一个对象,因此对一个变量的操作可能影响另一个变量所引用的对象对一个变量的操作可能影响另一个变量所引用的对象C#两种数据类型两种
4、数据类型delegateD(.)形式的用形式的用户户定定义义的的类类型型委托委托类类型型一一维维和多和多维维数数组组,例如,例如int和和int,数数组类组类型型stringUnicode字符串字符串interfaceI.形式的用形式的用户户定定义义的的类类型型接口接口类类型型classC.形式的用形式的用户户定定义义的的类类型型所有其他所有其他类类型的最型的最终终基基类类:object类类类类型型引引用用类类型型structS.形式的用形式的用户户定定义义的的类类型型结结构构类类型型enumE.形式的用形式的用户户定定义义的的类类型型枚枚举类举类型型布布尔尔型:型:bool28位高精度十位高
5、精度十进进制小数:制小数:decimalIEEE浮点型:浮点型:float,doubleUnicode字符:字符:char无符号整型:无符号整型:byte,ushort,uint,ulong有符号整型:有符号整型:sbyte,short,int,long简单简单数据数据类类型型U-unsignedS-signed值值类类型型说 明类 别整 型浮点型2、C#C#数据类型与数据类型与数据类型的对应数据类型的对应F.NET.NET的的CTS(CTS(公共类型系统公共类型系统)规定了类型必须如何定义才能被规定了类型必须如何定义才能被CLRCLR承载承载,包括包括(Class)(Class)类、类、(i
6、nterface)(interface)接口、接口、(structure)(structure)结构、结构、(enumeration)(enumeration)枚举、枚举、(delegate)(delegate)委托。委托。FC#C#的数据类型没有内置于语言中,而是内置于的数据类型没有内置于语言中,而是内置于.NET.NET中中,C#,C#支支持的持的1313个预定义值类型与个预定义值类型与CTSCTS数据类型对应:数据类型对应:C#C#类型类型CTS类型类型允允 许许 的的 值值sbyteSystem.SByte在在 -128 127 之间的整数之间的整数byteSystem.Byte在在
7、0 255 之间的整数之间的整数shortSystem.Int16在在 -32768 32767 之间的整数之间的整数ushortSystem.UInt16在在 0 65535 之间的整数之间的整数intSystem.Int32在在 -2147483648 2146483647 之间的整数之间的整数uintSystem.UInt32在在 0 4294967295 之间的整数之间的整数longSystem.Int64在在 -92233720368547758089223372036854775807 之间的整数之间的整数ulongSystem.UInt64在在 0 184467440737095
8、51615 之间的整数之间的整数C#数据类型与数据类型与CTS类型对应类型对应C#类型类型CTS类类型型允允 许许 的的 值值floatSystem.Single1.510-453.41038 之间的浮点数之间的浮点数doubleSystem.Double5.010-3241.710308 之间的浮点数之间的浮点数decimalSystem.Decimal1.010-287.91028 之间的浮点数之间的浮点数boolSystem.Boolean布尔值,布尔值,true 或或 falsecharSystem.Char一个一个 Unicode 字符,存储字符,存储 065535 之间的之间的整数
9、整数C#类型类型CTS CTS 类型类型说说明明objectobjectSystem.ObjectSystem.Object根类型,根类型,CTSCTS中的其他类型都是从它派生而中的其他类型都是从它派生而来的来的(包括值类型包括值类型)stringstringSystem.StringSystem.StringUnicodeUnicode字符串字符串FC#支持两个预定义的引用类型3、数据类型使用举例、数据类型使用举例F数值类型:数值类型:int theInteger=10;int theInteger=10;double theDouble=3.14159;double theDouble=3
10、.14159;Fboolbool类型:只有类型:只有 truetrue 和和 falsefalse 值,值,C#C#中中boolbool值和整数值和整数值之间不能相互转换。值之间不能相互转换。bool theLogic=true;bool theLogic=true;Fchar char 型变量存储的是以型变量存储的是以 Unicode(Unicode(表示多个国家的国际字表示多个国家的国际字符集符集)方式编码的字符,占用两个字节,可表示方式编码的字符,占用两个字节,可表示 65536 65536 种种不同的字符,可以直接在一个不同的字符,可以直接在一个 char char 型变量中存储一个汉
11、型变量中存储一个汉字的编码。用字的编码。用单引号单引号围起来,例:围起来,例:char theChar=c;char theChar=c;char ChineseCharacters =char ChineseCharacters =字字;数据类型使用举例数据类型使用举例Fstringstring类型:是类型:是UnicodeUnicode字符串,是一个引用类型。字符串,是一个引用类型。把一个字符串赋给另一个字符串时,就会得到对同一把一个字符串赋给另一个字符串时,就会得到对同一内存空间内字符串的两个引用。内存空间内字符串的两个引用。修改一个字符串,就是创建一个全新的修改一个字符串,就是创建一个
12、全新的stringstring对象。对象。F转义序列符号转义序列符号“”“”应用:单引号应用:单引号、双引号、双引号 “、反斜杠、反斜杠、警告、警告aa、换行、换行nn、回、回车车rr、水平制表符、水平制表符 t t。F转义序列符号转义序列符号“”“”:在字符串前加上:在字符串前加上,该字符串所有字,该字符串所有字符都被看作原来的含义。符都被看作原来的含义。F例:例:string theString=“the string!”;string theString=“the string!”;string path=“c:abc.txt”;string path=“c:abc.txt”;等价下一句
13、等价下一句string path=“c:abc.txt”;string path=“c:abc.txt”;3.2 常量F常量就是在程序运行过程中其值不改变的量。类和结构可常量就是在程序运行过程中其值不改变的量。类和结构可以将常数声明为成员。以将常数声明为成员。FC#C#常量的数据类型有多种如:常量的数据类型有多种如:sbytesbyte、bytebyte、shortshort、ushortushort、intint、uintuint、longlong、ulongulong、charchar、floatfloat、doubledouble、decimaldecimal、boolbool、stri
14、ngstring等等。等等。F常量分为直接常量、符号常量、固有常量:常量分为直接常量、符号常量、固有常量:1 1、直接常量:程序中直接使用的数据常量。、直接常量:程序中直接使用的数据常量。2 2、命名常量:用一个自定义的符号名来代替数据常量。、命名常量:用一个自定义的符号名来代替数据常量。3 3、固有常量:、固有常量:提供的常量,如提供的常量,如:Color.Red:Color.Red。4 4、命名规则与命名约定、命名规则与命名约定1、直接常量F直接常量是直接以值的形式表示的常量值,通常在值后直接常量是直接以值的形式表示的常量值,通常在值后加上后缀以说明值的数据类型。例:加上后缀以说明值的数据
15、类型。例:2、命名常量F命名常量用关键字命名常量用关键字constconst声明并初始化,语法:声明并初始化,语法:修饰符修饰符 const const 数据类型符数据类型符 常量名常量名=常量表达式常量表达式;常量名要符合命名规则与命名约定;常量名要符合命名规则与命名约定;修饰符:修饰符:public、privateprivate。F例:例:public const int A=1,B=3;public const int A=1,B=3;F一一个个常常量量可可以以依依赖赖于于另另一一个个命命名名常常量量,但但不不能能形形成成循循环依赖,例:环依赖,例:class ConstExamplec
16、lass ConstExample public const int A=1;public const int A=1;public const int B=A+2;public const int B=A+2;/如果上面如果上面A=B+1 A=B+1 形成了循环依赖就会出错形成了循环依赖就会出错 3 3、固有常量、固有常量FSystem-definedconstants系统定义的常量系统定义的常量,Declaredinsystemclasslibraries在系统类库中声明在系统类库中声明。FSpecifyclassnameorgroupnameandconstantname指定指定常量名及
17、其所在的类名或组名常量名及其所在的类名或组名,Example:Color.Redistheconstant“Red”intheclass“Color”,Color.Red是是Color类中的类中的Red常量常量;Color.BlueColor.Blue、Color.YellowColor.Yellow等等4 4、命名规则与命名约定、命名规则与命名约定F常量、变量命名规则:常量、变量命名规则:名称的第一个字符必须是字母、下划线名称的第一个字符必须是字母、下划线”_”_”或或”,其后的字符可以是字母、下划线或数字其后的字符可以是字母、下划线或数字;名称中不能包含空格、句点等标点符号;名称中不能包含
18、空格、句点等标点符号;名称不可以和关键字(保留字)同名名称不可以和关键字(保留字)同名;区分大小写。区分大小写。F常量、变量命名约定:常量、变量命名约定:名称要有意义,最好不使用缩写;名称要有意义,最好不使用缩写;名称中包括数据类型;名称中包括数据类型;变量名称以小写字母开始,然后每个后继单词的首字母变量名称以小写字母开始,然后每个后继单词的首字母大写。大写。常量使用大写的名称。常量使用大写的名称。3.3变量变量F变量是指在程序运行过程中其值可以发生变化的量。变量是指在程序运行过程中其值可以发生变化的量。1、变量的声明、变量的声明2、变量的作用域和生存期、变量的作用域和生存期1、变量的声明、变
19、量的声明F声明变量语法如下:声明变量语法如下:修饰符修饰符 数据类型符数据类型符 变量名变量名1=1=初值初值1,1,变量名变量名2=2=初值初值2,;2,;类级变量使用修饰符:类级变量使用修饰符:public public、privateprivate、static static。变量在使用之前必须初始化变量在使用之前必须初始化(赋初值赋初值),否则将不能通,否则将不能通过编译。过编译。F合法命名:合法命名:myBigVarmyBigVar,Var1 Var1,_test _test,myVar myVarF非法命名:非法命名:99BottleOfBeer99BottleOfBeer,swi
20、tch switch,Its-All-OverIts-All-Over2、变量的作用域和生存期、变量的作用域和生存期F变量的生存期:变量可以在某特定的时刻被创建,或在不变量的生存期:变量可以在某特定的时刻被创建,或在不再需要时被删除。在创建和删除之间所经过的时间,被称再需要时被删除。在创建和删除之间所经过的时间,被称为变量的生存期。为变量的生存期。F变量的作用域:是指可以使用该变量的代码区域。变量的作用域:是指可以使用该变量的代码区域。与声明与声明位置有关,有命名空间级、类级、局部、块级。位置有关,有命名空间级、类级、局部、块级。F命名空间级变量(和常量):命名空间级变量(和常量):在本命名空
21、间(一般是整个在本命名空间(一般是整个工程)的所有方法中使用,但良好的编程惯例不使用。工程)的所有方法中使用,但良好的编程惯例不使用。变量的作用域和生存期变量的作用域和生存期F类级变量:类级变量:声明位置在窗体或类的顶部声明,用修饰符声明位置在窗体或类的顶部声明,用修饰符publicpublic、privateprivate声明,在该窗体或其他类的所有方法中声明,在该窗体或其他类的所有方法中使用;实例对象时分配空间,所在的对象被撤消了,该变使用;实例对象时分配空间,所在的对象被撤消了,该变量也就从内存中被清除了。量也就从内存中被清除了。private static int abcd;F静态变量
22、:在类中使用静态变量:在类中使用staticstatic关键字声明的变量。在第一次关键字声明的变量。在第一次实例对象时分配空间,对象被实例对象时分配空间,对象被撤消时,静态变量仍然在内存撤消时,静态变量仍然在内存中保存,下次再用时以此为初中保存,下次再用时以此为初值。值。变量的作用域和生存期变量的作用域和生存期F局部变量:局部变量:声明位置在窗体或类所包含的方法内位置声明声明位置在窗体或类所包含的方法内位置声明(第一次使用变量之前),只能该方法内使用。不能使用(第一次使用变量之前),只能该方法内使用。不能使用修饰符修饰符public、privateprivate与与staticstatic。F
23、块级变量:块级变量:声明位置在语句块(大括号范围内)内(第一声明位置在语句块(大括号范围内)内(第一次使用变量之前),只能该语句快内使用。如在次使用变量之前),只能该语句快内使用。如在for、while循环中声明的变量,只存在于该循环体。不能使用循环中声明的变量,只存在于该循环体。不能使用修饰符修饰符public、privateprivate与与staticstatic。3.4复杂的变量类型复杂的变量类型F复杂的变量类型:复杂的变量类型:1 1、枚举、枚举enumenum2 2、结构、结构struct struct 3 3、数组、数组1、枚举枚举F枚举变量是指将变量可能的取值一一列举出来,变量
24、的枚举变量是指将变量可能的取值一一列举出来,变量的值只限于枚举值之一。值只限于枚举值之一。F枚举用枚举用enumenum关键字来定义,语法如下:关键字来定义,语法如下:enum typeNameenum typeName value1,value1,value2,value2,value3,value3,F默认情况下,枚举类型中的每一个值是默认情况下,枚举类型中的每一个值是intint类型值。枚举类型值。枚举类型中的值还可以是类型中的值还可以是bytebyte,sbytesbyte,shortshort,ushortushort,uintuint,longlong和和ulongulong数据类
25、型。数据类型。F默认情况下,从默认情况下,从0 0开始自动赋值;可使用开始自动赋值;可使用“=”“=”运算符来运算符来可以改变枚举元素的值。可以改变枚举元素的值。枚举F枚举是一个用户定义的数据类型,使用时需再声明这个枚枚举是一个用户定义的数据类型,使用时需再声明这个枚举类型的变量。语法如下:举类型的变量。语法如下:typeName varName;typeName varName;F枚举变量赋值:枚举变量赋值:varName=typeName.value2;varName=typeName.value2;2、结构F结构是由几个不同类型的数据组成一种新的数据类型,结结构是由几个不同类型的数据组成
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C# 常量 变量 方法
限制150内