c#第3章常量、变量与方法3h

上传人:san****019 文档编号:71021413 上传时间:2019-01-19 格式:PPT 页数:45 大小:404.51KB
返回 下载 相关 举报
c#第3章常量、变量与方法3h_第1页
第1页 / 共45页
c#第3章常量、变量与方法3h_第2页
第2页 / 共45页
c#第3章常量、变量与方法3h_第3页
第3页 / 共45页
c#第3章常量、变量与方法3h_第4页
第4页 / 共45页
c#第3章常量、变量与方法3h_第5页
第5页 / 共45页
点击查看更多>>
资源描述

《c#第3章常量、变量与方法3h》由会员分享,可在线阅读,更多相关《c#第3章常量、变量与方法3h(45页珍藏版)》请在金锄头文库上搜索。

1、高级编程技术 Visual C#.NET Programming,聊城大学 理工学院 曹银杰 ,http:/ 常量、变量与方法,3.1 数据类型 3.2 常量 3.3 变量 3.4 复杂的变量类型 3.5 方法 3.6 数据类型转换,3.1 数据类型,数据是程序处理的对象。不同数据类型其存储形式、取值范围、所能进行的运算是不同的。把数据分成不同数据类型可提高计算机存储、运算效率。 C#中数据类型就是类,由其声明的常量、变量就是类的对象。所以声明的数据就有了属性、方法和事件成员。 本节内容: 1、C#两种数据类型 2、C#数据类型与.net数据类型的对应 3、数据类型使用举例,1、 C#两种数据

2、类型,C#中的数据类型分为两个基本类别 值类型 表示实际数据 只是将值存放在内存中 值类型都存储在堆栈中 如int、char、结构类型 对一个变量的操作不影响另一个变量 引用类型 表示指向数据的指针或引用 包含内存堆中对象的地址 为 null,则表示未引用任何对象 如类、接口、数组、字符串类型 对于引用类型,两个变量可能引用同一个对象,因此对一个变量的操作可能影响另一个变量所引用的对象,C#两种数据类型,delegate D(.) 形式的用户定义的类型,委托类型,一维和多维数组,例如int和int,数组类型,string,Unicode字符串,interface I .形式的用户定义的类型,接

3、口类型,class C . 形式的用户定义的类型,所有其他类型的最终基类:object,类类型,引 用 类 型,struct S . 形式的用户定义的类型,结构类型,enum E . 形式的用户定义的类型,枚举类型,布尔型:bool,28位高精度十进制小数:decimal,IEEE浮点型:float, double,Unicode 字符:char,无符号整型:byte, ushort, uint, ulong,有符号整型:sbyte, short, int, long,简单数据类型 U-unsigned S-signed,值 类 型,说 明,类 别,整 型,浮点型,2、 C#数据类型与.net

4、数据类型的对应,.NET的CTS(公共类型系统)规定了类型必须如何定义才能被CLR承载,包括(Class)类、(interface)接口、(structure)结构、(enumeration)枚举、(delegate)委托。 C#的数据类型没有内置于语言中,而是内置于.NET中,C#支持的13个预定义值类型与CTS数据类型对应:,C#数据类型与CTS 类型对应,C#支持两个预定义的引用类型,3、数据类型使用举例,数值类型: int theInteger = 10; double theDouble = 3.14159; bool类型:只有 true 和 false 值,C# 中bool值和整数

5、值之间不能相互转换。 bool theLogic = true; char 型变量存储的是以 Unicode (表示多个国家的国际字符集)方式编码的字符,占用两个字节,可表示 65536 种不同的字符,可以直接在一个 char 型变量中存储一个汉字的编码。用单引号围起来,例: char theChar = c; char ChineseCharacters = 字;,数据类型使用举例,string类型:是Unicode字符串,是一个引用类型。 把一个字符串赋给另一个字符串时,就会得到对同一内存空间内字符串的两个引用。 修改一个字符串,就是创建一个全新的string对象。 转义序列符号“” 应用

6、:单引号、双引号 “、反斜杠、警告a、换行n、回车r、水平制表符 t。 转义序列符号“”:在字符串前加上,该字符串所有字符都被看作原来的含义。 例:string theString = “the string!”; string path=“c:abc.txt”; 等价下一句 string path=“c:abc.txt”;,3.2 常量,常量就是在程序运行过程中其值不改变的量。类和结构可以将常数声明为成员。 C#常量的数据类型有多种如:sbyte、byte、short、ushort、int、uint、long、ulong、char、float、double、decimal、bool、stri

7、ng等等。 常量分为直接常量、符号常量、固有常量: 1、直接常量:程序中直接使用的数据常量。 2、命名常量:用一个自定义的符号名来代替数据常量。 3、固有常量:.net提供的常量,如:Color.Red。 4、命名规则与命名约定,1、直接常量,直接常量是直接以值的形式表示的常量值,通常在值后加上后缀以说明值的数据类型。例:,2、命名常量,命名常量用关键字const声明并初始化,语法: 修饰符 const 数据类型符 常量名=常量表达式; 常量名要符合命名规则与命名约定; 修饰符:public 、private。 例: public const int A=1,B=3; 一个常量可以依赖于另一个

8、命名常量,但不能形成循环依赖,例: class ConstExample public const int A=1; public const int B=A+2; /如果上面A=B+1 形成了循环依赖就会出错 ,3、固有常量,System-defined constants系统定义的常量 ,Declared in system class libraries 在系统类库中声明。 Specify class name or group name and constant name指定常量名及其所在的类名或组名,Example : Color.Red is the constant “Red”

9、in the class “Color” ,Color.Red是Color类中的Red常量 ; Color.Blue、 Color.Yellow等,4、命名规则与命名约定,常量、变量命名规则: 名称的第一个字符必须是字母、下划线”_”或”,其后的字符可以是字母、下划线或数字; 名称中不能包含空格、句点等标点符号; 名称不可以和关键字(保留字)同名; 区分大小写。 常量、变量命名约定: 名称要有意义,最好不使用缩写; 名称中包括数据类型; 变量名称以小写字母开始,然后每个后继单词的首字母大写。 常量使用大写的名称。,3.3 变量,变量是指在程序运行过程中其值可以发生变化的量。 1、变量的声明 2

10、、变量的作用域和生存期,1、变量的声明,声明变量语法如下: 修饰符 数据类型符 变量名1 = 初值1,变量名2=初值2,; 类级变量使用修饰符:public 、private、 static。 变量在使用之前必须初始化(赋初值),否则将不能通过编译。 合法命名:myBigVar, Var1, _test, myVar 非法命名:99BottleOfBeer, switch,Its-All-Over,2、变量的作用域和生存期,变量的生存期:变量可以在某特定的时刻被创建,或在不再需要时被删除。在创建和删除之间所经过的时间,被称为变量的生存期。 变量的作用域:是指可以使用该变量的代码区域。 与声明位

11、置有关,有命名空间级、类级、局部、块级。 命名空间级变量(和常量):在本命名空间(一般是整个工程)的所有方法中使用,但良好的编程惯例不使用。,变量的作用域和生存期,类级变量:声明位置在窗体或类的顶部声明,用修饰符public、private声明,在该窗体或其他类的所有方法中使用;实例对象时分配空间,所在的对象被撤消了,该变量也就从内存中被清除了。,private static int abcd;,静态变量:在类中使用static关键字声明的变量。在第一次实例对象时分配空间,对象被撤消时,静态变量仍然在内存中保存,下次再用时以此为初值。,变量的作用域和生存期,局部变量:声明位置在窗体或类所包含的

12、方法内位置声明(第一次使用变量之前),只能该方法内使用。不能使用修饰符 public 、private与static。 块级变量:声明位置在语句块(大括号范围内)内(第一次使用变量之前),只能该语句快内使用。如在for、 while 循环中声明的变量,只存在于该循环体。不能使用修饰符 public 、private与static。,3.4 复杂的变量类型,复杂的变量类型: 1、枚举enum 2、结构struct 3、数组,1、 枚举,枚举变量是指将变量可能的取值一一列举出来,变量的值只限于枚举值之一。 枚举用enum关键字来定义,语法如下: enum typeName value1, valu

13、e2, value3, 默认情况下,枚举类型中的每一个值是int类型值。枚举类型中的值还可以是byte,sbyte,short,ushort,uint,long和ulong数据类型。 默认情况下,从0开始自动赋值;可使用“=”运算符来可以改变枚举元素的值。,枚举,枚举是一个用户定义的数据类型,使用时需再声明这个枚举类型的变量。语法如下: typeName varName; 枚举变量赋值: varName = typeName.value2;,2、结构,结构是由几个不同类型的数据组成一种新的数据类型,结构体用关键字struct来定义,语法如下: struct 包含变量结构数据成员的声明,每个成员

14、的声明采用如下格式: ; 例: struct route public orientation direction; public double distance ; ,结构,定义了结构类型之后,就可以定义该数据类型的变量: route myRoute; 通过“.”成员运算符可以访问该变量的数据成员,例: myRoute.direction = orientation.north; myRoute.distance = 2.5;,3、数组变量,数组是同一数据类型的一组值的集合。数组属于引用类型,连续存放在堆内存中,这些变量均具有相同的名称、相同的数据类型,可以通过下标相互区分,每一个这样的变量

15、我们把它称为数组元素。为数据处理带来很大方便。 本节分别介绍: 一维数组 多维数组 数组的数组,一维数组,一维数组只有一个下标的数组。数组使用前必须先声明和分配空间。 一维数组的声明: 数据类型元素个数n 数组名称; 数组名称与普通变量命名相同; 元素个数n可省略,就是没指定数组大小; 第一个数组元素下标0,一直到第n-1元素,共n个。 例:string names; string10 names;/从0到9共10个元素。 一维数组的声明并初始化,也可不使用关键字new初始化,下列都是合法形式: string weekDays = new string “Sun“, “Mon“, “Tue“, “Wed“, “Thu“, “Fri“, “Sat“ ; int array1 = new int5 1, 2, 3, 4, 5 ; /or: int array2 = new int 1, 2, 3, 4, 5 ; /or int array3 = 1, 2, 3, 4, 5 ;,一维数组,使用数组前必须初始化(赋值),可以先声明后初始化: int array4; array4 = new int 1, 2, 3, 4, 5 ; / OK /array4 = new int5 1, 2, 3,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号