




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C#程序设计程序设计第第2 2章章 C# C#语言基础语言基础l了解变量的基本概念了解变量的基本概念l掌握掌握值类型值类型的概念和用法的概念和用法l掌握掌握引用类型引用类型的概念和用法的概念和用法l掌握掌握常用的类型转换常用的类型转换l掌握如何掌握如何操作变量操作变量l了解常量的概念和用法了解常量的概念和用法2本章目标本章目标C#语言介绍语言介绍3变量和常量数据类型值类型和引用类型l数据类型数据类型值类型、引用类型及其差异、值类型、引用类型及其差异、装箱和拆箱装箱和拆箱l变量变量变量的命名、声明、赋值、分类和作用域变量的命名、声明、赋值、分类和作用域l常量常量常量的常量的声明、声明、初始化初始
2、化l预定义数据类型预定义数据类型预定义基本数据类型的使用预定义基本数据类型的使用l类型转换类型转换隐式转换、显式转换和隐式转换、显式转换和Convert类类4本章目标本章目标lC#的标识符名称必须遵守以下规则:的标识符名称必须遵守以下规则: 所有的标识符只能由所有的标识符只能由字母字母、数字数字和和下划线下划线这这3类字符组成,类字符组成,且第一个字符必须为且第一个字符必须为字母或下划线字母或下划线标识符中不能包含空格、标点符号、运算符等其他符号标识符中不能包含空格、标点符号、运算符等其他符号标识符不能与标识符不能与C#关键字名相同,但可以定义关键字名相同,但可以定义加关键字加关键字的变量名的
3、变量名标识符不能与标识符不能与C#中的类库名相同中的类库名相同标识符严格标识符严格区分大小写区分大小写标识符可以标识符可以包含包含Unicode字符字符,可以用,可以用uXXXX指定指定5变量变量- 命名规则命名规则myVar、_strName、obj1、namespace_Identifier、u005fIdentifier99var、ItsOK、namespace6 变量变量- 命名规则命名规则l声明变量:声明变量: 变量类型变量类型 变量名变量名;l变量赋值:变量赋值: 变量变量 = 要赋的值要赋的值;7在方法中声明的变量也称为在方法中声明的变量也称为局部变量局部变量 C#C#局部局部变
4、变量被量被访问访问之前必之前必须须被被初始化初始化, ,否否则编译时会报错则编译时会报错C#C#局部局部变变量量不会被自动初始化不会被自动初始化变量变量-声明和赋值声明和赋值变量变量-作用域作用域l局部变量的作用域局部变量的作用域存在于表示声明该变量的块语句或方法结束的存在于表示声明该变量的块语句或方法结束的封闭花括号之前的作用域内封闭花括号之前的作用域内在在for、while或类似语句中声明的局部变量存在或类似语句中声明的局部变量存在于该循环体内于该循环体内l局部变量的作用域冲突局部变量的作用域冲突同名的局部变量不能在同一作用域内声明两次同名的局部变量不能在同一作用域内声明两次l字段和局部变
5、量的作用域冲突字段和局部变量的作用域冲突在类的方法中可以定义与已定义的字段名相同在类的方法中可以定义与已定义的字段名相同的局部变量,而不产生冲突的局部变量,而不产生冲突8l在变量的前面加上关键字在变量的前面加上关键字constconst,就可以把该变量,就可以把该变量指定为一个常量指定为一个常量只能把只能把字段字段或或局部变量局部变量声明为常量声明为常量常量必须在常量必须在声明时初始化声明时初始化;指定了其值后,不能再对其进行赋值修改;指定了其值后,不能再对其进行赋值修改;不允许同时包含修饰符不允许同时包含修饰符staticstatic常量的值必须能在编译时计算出来常量的值必须能在编译时计算出
6、来9常量常量C#语言介绍语言介绍10变量和常量数据类型值类型和引用类型字符串l通用类型系统通用类型系统(CTS)定义了在中间语言定义了在中间语言(MSIL)中使用的预定义数中使用的预定义数据类型据类型C#中使用的数据类型都是中使用的数据类型都是MSIL数据类型的数据类型的映射映射在在C#源文件中使用源文件中使用MSIL数据类型也可以数据类型也可以例如: “int var =0;” = “Int32 var =0;” 所有的简单类型都对应所有的简单类型都对应.Net平台上定义的平台上定义的结结构构(struct) 11CTSCTS类型类型C#C# 的预定义类型并没有内置于语言中,而是内置于.Ne
7、t Framework中,即CTSCTS类型类型。数据类型数据类型- 类型系统类型系统lC#是强类型语言是强类型语言每个变量必须声明每个变量必须声明类型类型编译器检查变量存储的值是否和声明的类编译器检查变量存储的值是否和声明的类型型匹配匹配禁止不安全的类型转换禁止不安全的类型转换lC#类型系统类型系统值类型值类型引用类型引用类型12数据类型数据类型- 类型系统类型系统lC#的内置值类型表示基本数据类型的内置值类型表示基本数据类型:整型整型浮点类型浮点类型decimal类型类型bool类型类型字符类型字符类型objectstring13预定义数据类型预定义数据类型lC#支持支持8个预定义整数类型
8、,分别支持个预定义整数类型,分别支持8位、位、16位、位、32位和位和64位整数值的有符号和无符号的形式位整数值的有符号和无符号的形式14整型整型名称名称说明说明常量字段常量字段MaxValue表示某整数类型的最大可能值表示某整数类型的最大可能值MinValue表示某整数类型的最小可能值表示某整数类型的最小可能值静态方法静态方法Parse将数字的字符串表示形式转换为它的等效将数字的字符串表示形式转换为它的等效整数整数ToString将此实例的数值转换为等效的字符串表示将此实例的数值转换为等效的字符串表示形式形式TryParse将数字的字符串表示形式转换为它的等效将数字的字符串表示形式转换为它的
9、等效整数。一个指示转换是否成功的返回代码整数。一个指示转换是否成功的返回代码(bool)。15String str= 123“ ;int i = int.Parse (str);int j = 5 * 8;string str= 5*8的的积积是:是:+j.ToString整型主要成员整型主要成员l一个整数常量的类型按以下方式确定:一个整数常量的类型按以下方式确定:如果没有后缀:如果没有后缀:int、uint、long、ulong带有后缀带有后缀U或或u: uint、ulong带有后缀带有后缀L或或l: long、ulong带有后缀带有后缀UL、Ul、uL、ul、LU、Lu、lU、lu: ul
10、ongl如果整数表示的值超出了如果整数表示的值超出了ulong类型的范围,发类型的范围,发生编译错误生编译错误lint 和和 System.Int32是相同的类型是相同的类型16整型整型浮点类型浮点类型lC#支持支持2种浮点数据类型(种浮点数据类型(float和和double),用于),用于包含小数的计算包含小数的计算17lC#支持高精度小数类型(支持高精度小数类型(decimal),),decimal数据数据类型一般用于财务计算,即可以用较大的精确度来类型一般用于财务计算,即可以用较大的精确度来表示货币值表示货币值18decimal类型类型l如果如果未指定未指定实数类型后缀,则为实数类型后缀
11、,则为double型型float型:以型:以F或或f为后缀为后缀double型:以型:以D或或d为后缀,或无后缀为后缀,或无后缀decimal型:以型:以M或或m为后缀为后缀l如果一个给定的实数不能用指定的类型表示,则会如果一个给定的实数不能用指定的类型表示,则会发生编译时错误发生编译时错误l在实数中,在实数中,小数点后必须是十进制数字小数点后必须是十进制数字。例如:。例如:1.F(错误错误)19说明说明20137f 137u137.2m137.22137137f 代表代表float类类型的型的数值数值137.0137u 代表代表unit类类型的型的数值数值137137.2m 代表代表deci
12、mal类类型的型的数值数值137.2137.22 代表代表double类类型的型的数值数值137.22137 代表代表int类类型的型的数值数值137课堂练习课堂练习lC#的的bool数据类型用于逻辑运算,包含数据类型用于逻辑运算,包含bool值值true或或falsel注意:注意:bool值值不能不能和整数值互相转换和整数值互相转换l字符串字符串“true”、“false”可以转换为可以转换为bool值值21bool类型类型字符类型字符类型lC#的的char表示一个表示一个16位的位的Unicode字符(字符(0-65535)l字符的表示:字符的表示:单引号单引号括起来括起来一个一个字符(例
13、如字符(例如A););使用使用4位位16进制的进制的Unicode值(例如值(例如u0041)带有数据类型转换的整数值(例如带有数据类型转换的整数值(例如(char)65)16进制数(进制数(x0041)l特殊符号则需要使用转义序列表示特殊符号则需要使用转义序列表示22国际公认和通用的标准字符编码标准整整数值数值不能不能直接直接赋给赋给charchar类类型型变变量,量,charchar类类型型可以可以直接直接赋给赋给intint或或longlong型型变变量,也可以像量,也可以像数值数值一一样参与运样参与运算。算。object类型类型lobject是是System.Object的别名,所有的
14、类型都的别名,所有的类型都隐含地最终派生于隐含地最终派生于System.Object类类l对于任何一个对于任何一个Object变量,均可被赋值为任何变量,均可被赋值为任何类型的值类型的值23object类型主要可以用于两个目的:类型主要可以用于两个目的:nobject类型定义了许多基本的一般用途的方法类型定义了许多基本的一般用途的方法n使用使用object引用绑定任何类型的对象;引用绑定任何类型的对象;int x1=10;Object obj1;Obj1=x1;Object obj2=“string”;C#语言介绍语言介绍24变量和常量数据类型值类型和引用类型字符串lC#中所有的类型中所有的类
15、型都继承于都继承于System.Object根根类型类型l所有的值类型都所有的值类型都继承于继承于System.ValueType类型类型25值类型值类型 vs.引用类型引用类型数据类型数据类型- 值类型(值类型(value type)l存储内容:存储内容:直接存储其直接存储其值值l存储位置:存储位置:栈(栈(Stack)lC# 的值类型分为的值类型分为:简单类型(简单类型(simple type)整型、浮点型、小数型、字符型、布尔型整型、浮点型、小数型、字符型、布尔型枚举类型(枚举类型(enum type)结构类型(结构类型(struct type)为为 null 的类型(的类型(nulla
16、ble type)26l存储内容:存储内容:存储对数据(对象)的存储对数据(对象)的引用(地址)引用(地址)l存储位置:存储位置:引用类型的变量(地址)引用类型的变量(地址)-栈(栈(Stack)数据(对象)存储在托管运行环境管理的数据(对象)存储在托管运行环境管理的托管堆托管堆(Heap)中中lC# 的引用类型分为的引用类型分为:类类型(类类型(class type)接口类型(接口类型(interface type)数组类型(数组类型(array type)委托类型(委托类型(delegate type)27数据类型数据类型- 引用类型(引用类型(reference type)值类型值类型
17、vs.引用类型引用类型28例例:2-1:2-1值类型值类型 vs.引用类型引用类型29总结关于引用类型和值类型的区别总结关于引用类型和值类型的区别1.存储位置存储位置2.复制复制3.对于其中一个变量的操作会不会影响另一个对于其中一个变量的操作会不会影响另一个装箱和拆箱装箱和拆箱l值类型和引用类型之间的转换值类型和引用类型之间的转换30值类型值类型 引用类型引用类型 拆箱拆箱装箱装箱static void Main(string args) int i = 123; object o = i; / 装箱装箱 object o2 =(object) i; / 显式显式装箱装箱 i = 456; /改变改变i的内容的内容 Console.WriteLine(值类型的值为值类型的值为 0, i); Console.WriteLine(引用类型的值为引用类型的值为 0, o);static void Main(string args) int i = 123; object o = i; / 装箱装箱 int j = (int)o; / 拆箱拆箱必须显式必须显式与值类型的变量与值类型的变量类型要一致类型要一致例例chapter02-2-2装箱和拆箱装箱和拆箱通过装箱转换,可以把一个整数值通过装箱转换,可以把一个整数值复复制制给一个给一个object类型的实例,而被装类型的实例,而被装箱的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 办公家具供货合同范本
- 出租中医诊所合同范例
- 写房子买卖合同范例
- 养老机构用人合同范例
- 上海预售购房合同范例
- 供暖公司劳务派遣合同范例
- mcn机构医生合同范例
- 传动皮带采购合同范例
- 助播合同范例范例
- 出售冰粉摊车合同范例
- 2024年南通职业大学高职单招(英语/数学/语文)笔试历年参考题库含答案解析
- 《无人机操控技术》 课件 项目 2 无人机模拟操控技术
- 新疆维吾尔自治区示范性普通高中评估指标体系
- 血透高磷个案护理
- 2024年新苏教版六年级下册科学全册知识点(精编版)
- 征地拆迁律师服务方案
- 朗格汉斯细胞组织细胞增生症课件
- GB/T 43585-2023一次性卫生棉条
- 小区老楼电梯加装钢结构工程施工方案全套
- 食堂遇特殊天气应急预案
- 矿山机电专业课程标准范本
评论
0/150
提交评论