




已阅读5页,还剩64页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第3章 变量、数据类型和表达式,Week 2,主要内容,变量和常量 数据类型 类型转换 运算符和表达式,1.变量与常量,变量 常量,变量是在程序运行过程中,其值可以改变的数据 在C#中,命名变量的过程叫声明,且规定,变量必须先声明后使用 事实上,在C#中所有的名称都必须先声明后使用,包括常量名、方法名、类名、对象名等等 这些名称统称为标识符,变量命名规则,1.变量名的第一个字符必须是字母或下划线,其余字符必须是字母、数字或下划线 2.变量名不能是C#的关键字或库函数名 例如: sum, _s, refType 都是合法的变量名 int, Number Of Student , 2A是非法变量名 3.为变量命名最好有意义,可以提高程序的可读性 如:足球队的名字可以叫做footballTeam,而cT34C就不是一个好的变量名 在包含多个单词的变量名中,从第二个单词开始,每个单词都采取首字母大写的形式.如上面的footballTeam,实例:以下变量名,哪些是非法的,哪些合法?,2x my name x-y int averageScore btnSave maxNumber,x,x,x,x,V,V,V,声明变量,声明变量就是把存放数据的类型告诉程序,以便为变量安排内存空间 声明变量最简单的格式为: 数据类型 变量名 例如: int number; /声明一个整型变量 float x; /声明一个单精度浮点型变量 bool open; /声明一个布尔型变量,变量赋值,C#规定,变量必须赋值后才能引用 为变量赋值需使用赋值号“=” 例如: int number; number=32;/为变量赋值32 bool open; open=true;/为变量赋值true,可以使用变量为变量赋值,例如: bool close; close=open;/为变量赋值open(true) 可以为几个变量一同赋值,例如: int a, b, c; a=b=c=32; 可以在声明变量的同时为变量赋值,相当于将声明语句与赋值语句合二为一,例如: double area,radius=16;,常量,常量是在程序运行过程中,其值保持不变的量 常量定义格式为: const 类型名称 常量名=常量表达式; “常量表达式”不能包含变量及函数等值会发生变化的内容,但可以包含其他已定义常量 例如: const int max=10;/合法 const double P1=3.1415926; /合法 const double maxArea=p1*max*max; /合法,表达式包含已定义常量 int num=10; const double maxArea=P1*num*num; /不合法,表达式包含变量,如果在程序中非常频繁地使用某一常量,可以将其定义为常量 定义常量的好处在于: 提高代码输入效率 减少输入错误 常量名一旦输入错误,在程序运行前的编译阶段即可检查出来,2. 数据类型,引用类型,值类型,引用类型,2.1 Reference -引用类型,在内存中不存储 实际值,而是存储数据的引用。 引用类型包括 : 类(class) 接口(interface) 数组(array) 字符串(string ) 引用类型在以后的课程中再详细讲述,2.2 Value-值类型,主要组成 : 简单类型 枚举类型 结构类型,整数类型 浮点类型 十进制类型 布尔类型 字符类型,2.2.1简单类型,整数类型,整数类型在计算机中的取值范围,浮点类型,浮点类型在计算机中的取值范围,十进制类型,十进制类型在计算机中的取值范围,布尔类型,布尔类型表示现实中的“真”或“假”这两个概念,主要用来进行逻辑判断。在C#中,分别采用true和false这两个值来表示“真”和“假”。,字符类型,字符类型采用国际上公认的Unicode标准字符集,enum枚举类型,Enumerate,为一组在逻辑上密不可分的整数提供便于记忆的符号。,例:声明一个代表季节的枚举类型: enum Season Spring, Summer, Autumn, Winter ; Season currentSeason;,using System; namespace ConsoleApplication1 enum Season Spring, Summer, Autumn, Winter ; class Program static void Main(string args) Season currentSeason; currentSeason =0; Console.WriteLine(currentSeason); Console.ReadLine(); ,随堂练习(写作业本),定义一个枚举类型Sex,表示性别,性别有Male 和 Female两种。并使用枚举。,代码: using System; namespace ConsoleApplication1 enum Sex Male, Female ; class Program static void Main(string args) Sex p; p = (Sex)1; Console.WriteLine(p); Console.ReadLine(); ,struct 结构类型,把一系列相关 的变量组织成单一实体,这个单一实体的类型就叫做结构类型,每一个变量称为结构的成员。,例:定义通讯录的记录结构: struct PhoneBook public string name; public string phone; public string address; PhoneBook cityA;,struct表示学生例,struct Student /定义结构 public string name; public string id; public uint age; public string className; Student st1; /使用结构 = “王麻子”; st1.id = “0737333331”; st1.age = 20; st1.className = “07软件开发2班”;,随堂练习(写作业本),定义一个结构类型Point,用来表示平面上的一个点。用两个整数值x和y表示坐标位置。 并使用结构类型,定义一个结构类型Point,用来表示平面上的一个点。用两个整数值x和y表示坐标位置。,例:定义通讯录的记录结构: struct PhoneBook public string name; public string phone; public string address; ;,定义一个结构类型Point,int x;,Point,int y;,2.2.2 泛型,泛型 一种定义一个可以在使用时才确定类型的数据类型的机制,非范型声明方式: ArrayList gradeList = new ArrayList(); 范型声明方式: List gradeList = new List();,泛型(续),使用范例: List gradeList = new List(); gradeList.Add(95); gradeList.Add(100); /显示所有成绩 foreach (int grade in gradeList) Console.WriteLine(grade); ,2.2.3 隐式类型局部变量,注意:在声明var类型的同时,一定要初始化该变量,否则编译会报错,因为编译器无法推断出该类型。初始化语句必须为表达式,不可以为空。且编译时可以推断类型。一旦初始化之后,只可以存储这种类型。,C#3.0添加了var这个新关键字,在方法范围中声明的变量可以具有隐式类型 var。隐式类型的本地变量是强类型变量(就好像您已经声明该类型一样),但由编译器确定类型。在声明局部变量时可把变量声明为var类型,那么这个声明就称为隐含类型局部变量。,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“ ; ,匿名类型是由一个或多个公共只读属性组成的类类型。不允许包含其他种类的类成员(如方法或事件)。匿名类型不能强制转换为除 object 以外的任何接口或类型。,3. 类型转换,从一种类型转换为另一种类型: 隐式转换 显式转换 使用方法进行数据类型的转换 Convert.ToInt32() Int32.Parse(),隐式转换,不改变数据精确度的转换, 即:从短数据到长数据。 故无需特别声明。 例如: int x=12346;/整型数隐式转换为长整型数 long y=x;,隐式转换 - 例1,static void Main(string args) int k = 432; Console.WriteLine(“k=0”, k); double Q = k; Console.WriteLine(“Q=0:F1“, Q); Console.ReadLine(); ,/此处为隐式转换,隐式转换 - 例2,using System; namespace ConsoleApplication2 class Program static void Main(string args) int a = 10; Console.WriteLine(“a=0“,a); char c = a; / int 隐式转换 成char,运行结果会提示错误 /char c = (char)a; /Convert.ToString(a); Console.WriteLine(“c=0“, a); ,隐式数值转换,隐式数值转换包括以下几种:,隐式枚举转换,隐式枚举转换: 允许把十进制整数0转换成任何枚举类型,而其他的整数则不存在这种隐式转换。,例:using System; namespace ConsoleApplication1 enum Season Spring, Summer, Autumn, Winter ; class Program static void Main(string args) Season currentSeason; currentSeason =0;/隐式枚举转换 Console.WriteLine(currentSeason); Console.ReadLine(); ,显式数值转换 显式枚举转换,显式类型转换,显式转换,显式转换也叫强制转换,是在代码中明确指示将某一类型的数据转换为另一种类型 显式转换的一般格式为: (数据类型名称)数据 例如: int x=600; short z=(short)x; /将整型变量x的值显式转换为short类型,显式转换中可能导致数据的丢失 例如: decimal d=234.55M /使用M或m类型符说明类型,否则编译出错 int x=(int)d; /将十进制型变量d的值显式转换为整型,小数部分截去,x=234,显式转换 - 例,static void Main(string args) double Q= 432.0; Console.WriteLine(“Q=0:F1“, Q); int k=(int)Q; / 此处为显式转换Console.WriteLine(“k=0“, k); Console.ReadLine(); ,显式数值转换,显式数值转换是指当不存在相应的隐式数值转换时,从一种数值类型到另一种数值类型的转换。,从sbyte、byte、short、ushort、int、uint、long、ulong、char、float、double或decimal转换为任何枚举类型 从任何枚举类型转换为sbyte、byte、short、ushort、int、uint、long、ulong、char、float、double或decimal 从任何枚举类型转换为任何其他枚举类型,显式枚举转换,显式枚举转换包括以下内容:,例:using System; namespace ConsoleApplication1 enum Season Spring, Summer, Autumn, Winter ; class Program static void Main(string args) Season currentSeason; currentSeason =(Season)1;/显式枚举转换 Console.WriteLine(currentSeason); Console.ReadLine(); ,其它类型转换至int整型数据,有三种操作方法: (int) Int32.Parse() Convert.toInt32(),1.类型转换:(int),表示使用显式强制类型转换。 格式: (int) 数据 例如: long t=10; int d=(int)t; 强制转换需要考虑精度问题,2.方法转换,Int32.Parse() Convert.ToInt32() 都表示将数字的字符串形式转换为32 位有符号整数,该转换属于方法转换,Convert.ToInt32() 被使用得最多。 Convvert.ToInt32() 实际上就是调用Int32.Parse()方法。,例:,编程做以下: 输出:Enter your age please: 读取用户输入的年龄 输出: Youll be next year,结果如下:,using System; namespace ConsoleApplication1 class Program static void Main(string args) Console.WriteLine(“Enter your age please:“); /.从键盘读取用户输入并存入string变量 string age=Console.ReadLine(); /把string转换为int类型 Console.WriteLine(“Youll be 0 next year ”,Convert.ToInt32(age)+1); Console.ReadLine(); 也可将以上的 C
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 户外早教活动策划方案
- 关于智能开关的营销方案
- 海底捞店面营销方案设计
- 青海规划馆设计施工方案
- 徐州胶粘石施工方案审批
- 心理健康咨询方案
- 商城代金券营销方案策划
- 船营区装修方案咨询
- 建筑穿墙螺杆处理方案设计
- 余姚社团活动策划方案
- 2026届福建省泉州市泉州实验中学中考冲刺卷英语试题含答案
- 麻精药品管理课件
- 2025年秋期部编版四年级上册小学语文教学计划+教学进度表
- 感知与判断-美术鉴赏的过程与方法+课件-2024-2025学年高中美术人美版(2019)+必修+美术鉴赏
- 实验室生物安全监督制度
- 小型水库维修养护项目方案投标文件(技术方案)
- 企业宣传用品管理办法
- 中国城市轨道交通全自动运行系统技术指南
- JJG 207-2025气象用玻璃液体温度表检定规程
- 酒店mod培训课件
- 化工企业安全操作规程管理制度
评论
0/150
提交评论