c#面向对象语法

上传人:san****019 文档编号:70834342 上传时间:2019-01-18 格式:PPT 页数:109 大小:778.01KB
返回 下载 相关 举报
c#面向对象语法_第1页
第1页 / 共109页
c#面向对象语法_第2页
第2页 / 共109页
c#面向对象语法_第3页
第3页 / 共109页
c#面向对象语法_第4页
第4页 / 共109页
c#面向对象语法_第5页
第5页 / 共109页
点击查看更多>>
资源描述

《c#面向对象语法》由会员分享,可在线阅读,更多相关《c#面向对象语法(109页珍藏版)》请在金锄头文库上搜索。

1、C#面向对象语法,第一章 数据类型 变量和表达式 第二章 分支和循环 第三章 面向对象基础与语法 第四章 面向对象高级应用 第五章 事件与委托 第六章 字符串 数组与集合 第七章 IO流与序列化 第八章 异步通信和线程,第一章 数据类型 变量和表达式,一、数据类型 1)值类型 引用类型 2)类型转换 3)拆箱与装箱 二、变量 1)变量和常量命名规则 三、表达式 1)常用的表达式及优先级 2)条件与(&),或(|),非(!) 逻辑与(&),或(|),异或(),第一章 数据类型 变量和表达式,一、数据类型:值类型和引用类型 (1)值类型主要由简单类型、枚举类型和结构类型这三类组成: (i)值类型:

2、简单类型 有符号整数: sbyte 1字节,8位(-128127) short 2字节,16位(-3276832767) int 4字节,32位(-2147483648 2147483647) long 8字节,64位(-9223372036854775808 9223372036854775807) 无符号整数: byte 1字节,8位(0255) ushort 2字节,16位(065536) uint 4字节,32位(0 4294967295) ulong 8字节,64位(0 18446744073709551615) 单精度浮点型:float 4字节,32位(1.5 1045 到3.4

3、1038, 7位精度) 双精度浮点型:Double 8字节,64位(5.0 10324 1.7 10308,15位精度) 十进制类型: decimal 16字节,128位(1.0 10287.9 1028, 29位精度) 布尔类型: bool 1字节, 8位 (true或false) 字符类型: char 2字节(中文)或1字节(字母),16位(在065 535范围内以双字节编码的任意符号),第一章 数据类型 变量和表达式,(ii)值类型:枚举类型 枚举类型为一组在逻辑上密不可分的整数提供便于记忆的符号 比如,声明一个代表季节的枚举类型的变量: enum Season Spring, Summ

4、er, Autumn, Winter; Season currentSeason; 枚举类型一般写在类外,隶属于某个程序集 enum Season Spring, Summe, Autumn, Winter; public virtual void say() Console.WriteLine(Season.Spring); Console.WriteLine(Season)2); 输出:Spring,Autumn,第一章 数据类型 变量和表达式,(iii)值类型:结构类型 把一系列相关的变量组织成单一实体的过程,在C#中称为生成结构的过程。这个单一实体的类型就叫做结构类型,每一个变量称为结

5、构的成员。结构类型的变量采用struct来声明。 枚举类型一般写在类外,隶属于某个程序集 struct PhoneBook public string name; public int phoneNumber; public string address; public PhoneBook(string name,int Num,string address) this.name = name; this.phoneNumber = Num; this.address = address; 限制: 不能显式定义无参构造函数 如果有”有参构造函数”,则在构造函数内,必须对每个变量有显式的赋值过程

6、 两种调用方法 调用(1): PhoneBook phonebook; phonebook.name = “周硕“; phonebook.phoneNumber = 16134; phonebook.address = “湖北随州“; 调用(2): PhoneBook phonebook=new PhoneBook(“ 周硕 “,123,“ 湖北随州 “);,第一章 数据类型 变量和表达式,(2)引用类型 在内存中不直接存储引用类型的数据,而是存储该数据的地址 。引用类型包括 : 类(class) 接口(interface) 数组(array) 字符串(string ) 委托,第一章 数据类型

7、 变量和表达式,二、类型转换 i)字符串与其它数据类型转换 字符串数据类型 Convert.ToXXX(); XXX:目标类型 eg:int i=Convert.ToInt32(“1234”); 数据类型.Parse()方法 eg:int.Parse(“1234”); 其它数据类型字符串 .ToString()方法 ii)显示和隐示类型转化 显示 :从大范围到小范围,有符号的范围更广 int i=(int)3.14;(强制将double类型转换为int类型) 隐示 :小范围到大范围 double i=3;(自动将int类型转为double类型),第一章 数据类型 变量和表达式,二、类型转换 i

8、ii)父类与子类之间的转换 Public class Animal Public class Dog:Animal 父类的范围更广,子类自动转换为父类:Animal animal=new Dog(); 父类到子类则不能进行强制转换 Animal animal = new Animal(); Dog dog = (Dog)animal;报错 As把一种类型转换为指定的引用类型 classA objA=new classA(); classD objD=(classD)objA; 相当于 classA objA=new classA(); classD objD=objA as classD;以上

9、两种区别在于:第一种转换失败出现异常,而第二种则返回null.,第一章 数据类型 变量和表达式,二、类型转换 iiii) 枚举转换 enum Season Spring, Summer, Autumn, Winter; 枚举类型一般写在类外,隶属于某个程序集 enum Season Spring, Summe, Autumn, Winter; public virtual void say() Console.WriteLine(int)Season.Spring); Console.WriteLine(Season)2); 输出:0,Autumn (int)Season.Spring将枚举类

10、型转换int类型 (Season)2将int整型转换为枚举类型 隐式枚举转换: 允许把十进制整数0转换成任何枚举类型,而其他的整数则不存在这种隐式转换。 显式枚举转换包括以下内容: 从sbyte、byte、short、ushort、int、uint、long、ulong、char、float、double或decimal转换为任何枚举类型 从任何枚举类型转换为sbyte、byte、short、ushort、int、uint、long、ulong、char、float、double或decimal 从任何枚举类型转换为任何其他枚举类型,第一章 数据类型 变量和表达式,三、拆箱与装箱 装箱就是将值

11、类型转换为引用类型 Eg:int i=2011;Object obj=i; 拆箱就是将引用类型转换为值类型 int j=(int)obj;,第一章 数据类型 变量和表达式,四、(1)变量 命名规则: 1)由字母、数字、下划线组成 2)不允许以数字开头 3)不能使用C#中的关键字 eg:private string userName; 关于变量命名的一般建议 : 变量名应具有描述性质 变量名最好以小写字母开头 在包含多个单词的变量名中,从第二个单词开始,每个单词都采取首字母大写的形式,第一章 数据类型 变量和表达式,四、(2)常量 1)使用关键字:const(静态常量) 声明方法:const 数

12、据类型 常量表达式; eg:private const string userName=“zhoushuo”; 常量具有如下特征: 1.常量必须在声明时初始化。指定了其值后,就不能再修改了。 2.常量的值必须能在编译时用于计算。因此,不能用从一个变量中提取的值来初始化常量。如果需要这么做,应使用只读字段。 3.常量总是静态的。但注意,不必(实际上,是不允许)在常量声明中包含修饰符static。所以访问常量时用:类名.常量名 在程序中使用常量至少有3个好处: A.常量用易于理解的清楚的名称替代了含义不明确的数字或字符串,使程序更易于阅读。 B.常量使程序更易于修改。例如,在C#程序中有一个Sal

13、esTax常量,该常量的值为6%。如果以后销售税率发生变化,把新值赋给这个常量,就可以修改所有的税款计算结果,而不必查找整个程序,修改税率为0.06的每个项。 C.常量更容易避免程序出现错误。如果要把另一个值赋给程序中的一个常量,而该常量已经有了一个值,编译器就会报告错误。,第一章 数据类型 变量和表达式,四、(2)常量 2)使用关键字:readonly(动态常量) 声明方法: readonly 数据类型 常量表达式; 在用const来定义常量的时候,在类型上有很多限制。首先,此类型必须属于值类型,同时此类型的初始化不能通过new来完成,因此一些用struct定义的值类型常量也不能用const

14、来定义 。 readonly所定义的常量除了在定义的时候可以设定常量值外,还可以在类的构造函数中进行设定。由于readonly所定义的常量相当于类的成员,因此使用const来定义常量所受到的类型限制,在使用readonly去定义的时候全部消失,即可以用readonly去定义任何类型的常量 class Program private const string userName = “abc“; private readonly string passWord; public Program() passWord = “1234“; Const声明变量时必须初始化 Readonly则可以在构造函数

15、中初始化,第一章 数据类型 变量和表达式,变量的作用域 变量的作用域是指变量在程序中能够被识别的范围。 局部变量 在C#中,在方法内部创建的变量只能在方法内部使用,所以这种变量对于方法而言是局部的,被称为“局部变量”(Local Variable)。,第一章 数据类型 变量和表达式,(8) 变量的作用域 变量的作用域是指变量在程序中能够被识别的范围 全局变量 与局部变量相对的,还有一个概念全局变量(Global Variable),由任何位于方法外的语句来声明和初始化(分配内存等资源)。所有在物理上位于全局变量声明之后的程序代码都可以调用并使用它,第一章 数据类型 变量和表达式,五、表达式 运

16、算符分为三类 : 一元运算符: 只使用一个操作数 二元运算符: 使用两个操作数 三元运算符: 使用三个操作数 运算符从高到低的优先级顺序:,第一章 数据类型 变量和表达式,五、表达式 条件运算符 对条件表达式b?x:y,先计算条件b,然后进行判断。如果b的值为true,计算x的值,运算结果为x的值;否则,计算y的值,运算结果为y的值。 逻辑运算符和布尔型操作数一起组成了逻辑表达式。 扩充:,第二章 分支和循环,分支结构 : C#中控制分支结构的语句包括:ifelse语句和switch语句。 switch 语句的格式: switch(控制表达式) case 常量表达式1:语句组1; break; case 常量表达式2:语句组2; break; case 常量表达式:语句组n; break; default:语句组 n+1;break

展开阅读全文
相关资源
相关搜索

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

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