变量、数据类型和表达式.ppt
《变量、数据类型和表达式.ppt》由会员分享,可在线阅读,更多相关《变量、数据类型和表达式.ppt(69页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第3章 变量、数据类型和表达式Week 2主要内容n变量和常量变量和常量n数据类型数据类型n类型转换类型转换n运算符和表达式运算符和表达式1.变量与常量变量与常量n n变量n n常量n n变量是在程序运行过程中,其值可以改变的数据n n在C#中,命名变量的过程叫声明,且规定,变量必须先声明后使用n n事实上,在C#中所有的名称都必须先声明后使用,包括常量名、方法名、类名、对象名等等n n这些名称统称为标识符变量命名规则变量命名规则1.1.变量名的第一个字符必须是变量名的第一个字符必须是字母字母字母字母或或下划线下划线下划线下划线,其余,其余字符必须是字符必须是字母、数字或下划线字母、数字或下划
2、线字母、数字或下划线字母、数字或下划线2.2.变量名不能是变量名不能是C#C#的的关键字关键字关键字关键字或或库函数名库函数名库函数名库函数名例如:例如:sum,_s,refType sum,_s,refType 都是合法的变量名都是合法的变量名int,Number Of Student,2Aint,Number Of Student,2A是非法变量名是非法变量名3.3.为变量命名最好有意义,可以提高程序的可读性为变量命名最好有意义,可以提高程序的可读性如如:足球队的名字可以叫做足球队的名字可以叫做footballTeam,footballTeam,而而cT34CcT34C就不就不是一个好的变
3、量名是一个好的变量名在包含多个单词的变量名中在包含多个单词的变量名中,从第二个单词开始从第二个单词开始,每个每个单词都采取首字母大写的形式单词都采取首字母大写的形式.如上面的如上面的footballTeamfootballTeam实例:以下变量名,哪些是非法的,哪些合法?2xmy namex-yintaverageScorebtnSavemaxNumberxxxxVVV声明变量声明变量n n声明变量就是把存放数据的类型告诉程序,以便为变量安排内存空间n n声明变量最简单的格式为:数据类型数据类型 变量名变量名例如:例如:int number;/int number;/声明一个整型变量声明一个整
4、型变量float x;/float x;/声明一个单精度浮点型变量声明一个单精度浮点型变量bool open;/bool open;/声明一个布尔型变量声明一个布尔型变量变量赋值变量赋值n nC#规定,变量必须赋值后才能引用为变量赋值需使用赋值号为变量赋值需使用赋值号“=”=”例如:例如:int number;int number;number=32;/number=32;/为变量赋值为变量赋值3232bool open;bool open;open=true;/open=true;/为变量赋值为变量赋值truetruen n可以使用变量为变量赋值,例如:可以使用变量为变量赋值,例如:bool
5、 close;bool close;close=open;/close=open;/为变量赋值为变量赋值open(true)open(true)n n可以为几个变量一同赋值,例如:可以为几个变量一同赋值,例如:int a,b,c;int a,b,c;a=b=c=32;a=b=c=32;n n可以在声明变量的同时为变量赋值,相当于将可以在声明变量的同时为变量赋值,相当于将声明语句与赋值语句合二为一,例如:声明语句与赋值语句合二为一,例如:double area,radius=16;double area,radius=16;常量常量n n常量是在程序运行过程中,其值保持不变的量常量是在程序运行过
6、程中,其值保持不变的量n n常量定义格式为:常量定义格式为:const const 类型名称类型名称 常量名常量名=常量表达式;常量表达式;“常量表达式常量表达式”不能包含变量及函数等值会发生变不能包含变量及函数等值会发生变化的内容,但可以包含其他已定义常量化的内容,但可以包含其他已定义常量例如:例如:const int max=10;/const int max=10;/合法合法const double P1=3.1415926;/const double P1=3.1415926;/合法合法const double maxArea=p1*max*max;/const double maxA
7、rea=p1*max*max;/合法,表达式合法,表达式包含已定义常量包含已定义常量int num=10;int num=10;const double maxArea=P1*num*num;/const double maxArea=P1*num*num;/不合法,表达不合法,表达式包含变量式包含变量n n如果在程序中非常频繁地使用某一常量,可以将其定义为常量n n定义常量的好处在于:提高代码输入效率提高代码输入效率减少输入错误减少输入错误常量名一旦输入错误,在程序运行前的编译阶段常量名一旦输入错误,在程序运行前的编译阶段即可检查出来即可检查出来2.数据类型引用类型值类型引引用用类类型型2.
8、1 Reference -引用类型n在内存中在内存中不不存储存储实际值实际值,而是存储,而是存储数据的数据的引用引用。n引用类型包括引用类型包括:类(类(class)接口(接口(interface)数组(数组(array)字符串(字符串(string)n引用类型在以后的课程中再详细讲述引用类型在以后的课程中再详细讲述2.2 Value-值类型主要组成主要组成 :n简单类型简单类型n枚举类型枚举类型n结构类型结构类型种类种类描述描述值值类类型型简单类型简单类型Simpletypes有符号整数:有符号整数:有符号整数:有符号整数:sbytesbyte,short,short,intint,long
9、long无符号整数:无符号整数:无符号整数:无符号整数:byte,byte,ushortushort,uintuint,ulongulongUnicodeUnicode字符:字符:字符:字符:charcharIEEEIEEE浮点数:浮点数:浮点数:浮点数:float,doublefloat,double十进制数:十进制数:十进制数:十进制数:decimaldecimal布尔值:布尔值:布尔值:布尔值:boolbool枚举类型枚举类型EnumEnumtypetypeenumE.结构类型结构类型StructStructtypetypestructS.整数类型整数类型整数类型整数类型 浮点类型浮点类
10、型浮点类型浮点类型 十进制类型十进制类型十进制类型十进制类型 布布布布尔尔尔尔类类类类型型型型 字符类型字符类型字符类型字符类型 2.2.1简单类型简单类型 整数类型整数类型 整数类型在计算机中的取值范围整数类型在计算机中的取值范围 描述描述描述描述位数位数位数位数数据数据数据数据类类类类型型型型取取取取值值值值范范范范围围围围有符号整有符号整有符号整有符号整数数数数8 8sbytesbyte1281271281271616shortshort32 76832 76732 76832 7673232intint2 147 483 6482 147 483 6472 147 483 6482 1
11、47 483 6476464longlong9 223 372 036 854 775 8089 223 372 9 223 372 036 854 775 8089 223 372 036 854 775 807036 854 775 807无符号整无符号整无符号整无符号整数数数数8 8bytebyte025502551616ushortushort065 535065 5353232uintuint04 294 967 29504 294 967 2956464ulongulong018 446 744 073 709 551 615018 446 744 073 709 551 615浮
12、点类型浮点类型 浮点类型在计算机中的取值范围浮点类型在计算机中的取值范围 描述描述描述描述位数位数位数位数数据数据数据数据类类类类型型型型取取取取值值值值范范范范围围围围单单单单精度浮点精度浮点精度浮点精度浮点型型型型3232floatfloat1.5101.5104545 到到到到3.4103.4103838,7 7位精位精位精位精度度度度双精度浮点双精度浮点双精度浮点双精度浮点型型型型6464doubledouble5.0105.010324324 1.7101.710308308,1515位精度位精度位精度位精度十进制类型十进制类型 十进制类型在计算机中的取值范围十进制类型在计算机中的取
13、值范围 描述描述描述描述位数位数位数位数数据数据数据数据类类类类型型型型取取取取值值值值范范范范围围围围十十十十进进进进制制制制类类类类型型型型128128decimaldecimal1.0 101.0 1028287.9 7.9 10102828,29,29位精度位精度位精度位精度布尔类型布尔类型 布尔类型表示现实中的布尔类型表示现实中的“真真”或或“假假”这两个概这两个概念,主要用来进行逻辑判断。在念,主要用来进行逻辑判断。在C#中,分别采用中,分别采用true和和false这两个值来表示这两个值来表示“真真”和和“假假”。描述描述描述描述位数位数位数位数数据类型数据类型数据类型数据类型取
14、值范围取值范围取值范围取值范围布布布布尔尔尔尔类类类类型型型型8 8boolbool true true或或或或falsefalse字符类型字符类型字符类型采用国际上公认的字符类型采用国际上公认的Unicode标准字符集标准字符集描述描述描述描述位数位数位数位数数据数据数据数据类类型型型型取取取取值值范范范范围围字符字符字符字符类类类类型型型型1616charchar在在在在065 535065 535范范范范围围围围内内内内以双字以双字以双字以双字节编码节编码节编码节编码的任的任的任的任意符号意符号意符号意符号 enum枚举类型 Enumerate,为一组在逻辑上密为一组在逻辑上密不可分的整
15、数提供便于记忆的符号。不可分的整数提供便于记忆的符号。例:声明一个代表季节的枚举类型:例:声明一个代表季节的枚举类型:enumSeasonSpring,Summer,Autumn,Winter;SeasoncurrentSeason;using System;using System;namespace ConsoleApplication1namespace ConsoleApplication1 enum Season enum Season Spring,Spring,Summer,Summer,Autumn,Autumn,Winter Winter ;class Program cla
16、ss Program static void Main(string args)static void Main(string args)Season currentSeason;Season currentSeason;currentSeason=0;currentSeason=0;Console.WriteLine(currentSeason);Console.WriteLine(currentSeason);Console.ReadLine();Console.ReadLine();随堂练习(写作业本)n定义一个枚举类型定义一个枚举类型Sex,表示性别,性别有,表示性别,性别有Male和
17、和Female两种两种。并使用枚举。并使用枚举。代码:代码:using System;using System;namespace ConsoleApplication1namespace ConsoleApplication1 enum Sex enum Sex Male,Male,Female Female ;class Program class Program static void Main(string args)static void Main(string args)Sex p;Sex p;p=(Sex)1;p=(Sex)1;Console.WriteLine(p);Conso
18、le.WriteLine(p);Console.ReadLine();Console.ReadLine();struct 结构类型 把一系列相把一系列相关关 的变量组的变量组织成单一实体织成单一实体,这个单一实体这个单一实体的类型就叫做的类型就叫做结构类型,每结构类型,每一个变量称为一个变量称为结构的成员。结构的成员。例:定义通讯录的记录例:定义通讯录的记录结构:结构:struct PhoneBook public string name;public string phone;public string address;PhoneBook cityA;struct表示学生例structStu
19、dent/定义结构定义结构publicstringname;publicstringid;publicuintage;publicstringclassName;Studentst1;/使用结构使用结构st1.name=“王麻子王麻子”;st1.id=“0737333331”;st1.age=20;st1.className=“07软件开发软件开发2班班”;随堂练习(写作业本)n定义一个结构类型定义一个结构类型Point,用来表示平面,用来表示平面上的一个点。用两个整上的一个点。用两个整数值数值x和和y表示坐标位置表示坐标位置。并使用结构类型n定义一个结构类型Point,用来表示平面上的一个点
20、。用两个整数值x和y表示坐标位置。例例:定义通讯录的记录结构定义通讯录的记录结构:struct PhoneBookpublic string name;public string phone;public string address;定义一个结构类型定义一个结构类型Pointint x;Pointint y;2.2.2 泛型泛型 泛型泛型 一种定义一个可以在使用时才确定类一种定义一个可以在使用时才确定类型的数据类型的机制型的数据类型的机制非范型声明方式:非范型声明方式:ArrayList gradeList=new ArrayList();范型声明方式:范型声明方式:List gradeLi
21、st=new List();泛型(续)泛型(续)使用范例:使用范例:List gradeList=new List();gradeList.Add(95);gradeList.Add(100);/显示所有成绩显示所有成绩 foreach(int grade in gradeList)Console.WriteLine(grade);2.2.3 隐式类型局部变量隐式类型局部变量注意:在声明注意:在声明var类型的同时,一定要初始化类型的同时,一定要初始化该变量,否则编译会报错,因为编译器无法该变量,否则编译会报错,因为编译器无法推断出该类型。初始化语句必须为表达式,推断出该类型。初始化语句必须为
22、表达式,不可以为空。且编译时可以推断类型。一旦不可以为空。且编译时可以推断类型。一旦初始化之后,只可以存储这种类型。初始化之后,只可以存储这种类型。C#3.0添加了添加了var这个新关键字,在方法范围中这个新关键字,在方法范围中声明的变量可以具有隐式类型声明的变量可以具有隐式类型 var。隐式类型。隐式类型的本地变量是强类型变量(就好像您已经声的本地变量是强类型变量(就好像您已经声明该类型一样),但由编译器确定类型。在明该类型一样),但由编译器确定类型。在声明局部变量时可把变量声明为声明局部变量时可把变量声明为var类型,那类型,那么这个声明就称为隐含类型局部变量。么这个声明就称为隐含类型局部
23、变量。class Program static void Main(string args)var i=1;var j=3.1415926;var k=Hello Word;System.Console.WriteLine(i=0,j=1,k=2,i,j,k);2.2.4 匿名类型匿名类型class Program static void Main(string args)var v=new ID=1,Name=Adam,Message=Hello Adam;匿名类型是由一个或多个公共只读属性组成匿名类型是由一个或多个公共只读属性组成的类类型。不允许包含其他种类的类成员的类类型。不允许包含其他
24、种类的类成员(如方法或事件)。匿名类型不能强制转换(如方法或事件)。匿名类型不能强制转换为除为除 object 以外的任何接口或类型。以外的任何接口或类型。3.类型转换从一种类型转换为另一种类型从一种类型转换为另一种类型:n隐式转换隐式转换n显式转换显式转换n使用方法进行数据类型的转换使用方法进行数据类型的转换Convert.ToInt32()Convert.ToInt32()Int32.Parse()Int32.Parse()隐式转换 不改变数据精确度的转换,不改变数据精确度的转换,即:从短数据到长数据。即:从短数据到长数据。故无需特别声明。故无需特别声明。例如:例如:int x=12346
25、;/整型数隐式转换为长整型整型数隐式转换为长整型数数long y=x;隐式转换-例1static void Main(string args)int k=432;Console.WriteLine(“k=0”,k);double Q=k;Console.WriteLine(Q=0:F1,Q);Console.ReadLine();/此处为隐式转换此处为隐式转换隐式转换-例2using System;using System;namespace ConsoleApplication2namespace ConsoleApplication2 class Program class Program
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 变量 数据类型 表达式
限制150内