微软实训C#课件-第二讲

上传人:仙*** 文档编号:243968698 上传时间:2024-10-01 格式:PPT 页数:43 大小:357KB
返回 下载 相关 举报
微软实训C#课件-第二讲_第1页
第1页 / 共43页
微软实训C#课件-第二讲_第2页
第2页 / 共43页
微软实训C#课件-第二讲_第3页
第3页 / 共43页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,*,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,第二讲,C#,语言基础,C#,类型系统,C#,是个强类型的语言。这样,一切对变量的操作都是针对该变量的类型而进行的。为了保证变量中所存放数据的合法性和一致性,对不同类型的变量进行操作有相应的规则。即数值的类型决定了允许对该数值进行什么样的运算。能对一种类型进行的运算可能不允许用于另一种类型。,C#,语言的数据类型主要分为两类:,值类型和引用类型。,值类型的变量,本身包含他们的数据,而,引用类型的变量,包含的是指向包含数据的内存块的引用。,对于值类型又可分为:,简单类型结构类型枚举类型,简单类型,在,C#,中又可以分为数值类型和布尔类型,C#,语言中布尔类型严格地与数值类型区分,只有,true,和,false,两种取值,不存在像,C/C+,里那样和其他类型之间的转换。数值类型包括整型数、浮点数和,decimal,三种类型。浮点类型分为,float,和,double,两种。,decimal,主要用于金融、货币等对精度要求比较高的计算环境。,字符类型,C#,语言的字符不是采用,8,位值,而是采用,Unicode,编码的,16,位字符类型。标准的,8,位,ASCII,码字符集是,Unicode,编码的子集,因此,ASCII,码字符仍是有效的,C#,字符。,虽然,C#,将,char,定义为整型类型,但是它不能随意地在任何情况下与整数混用。这就意味着,在,C#,中把一个字符变量当作另外的整数数据类型看待是行不通的,这是,C,程序员必须改变习惯的另一个方面。,char,ch,;,ch,=X;,ch,=10;/error,但是,可以运用显式转换:,char,chSomeChar,=(char)65;,int,nSomeInt,=(,int)A,;,转义字符,转义符 字符名,单引号,“,双引号,反斜杠,n,换行,r,回车,t,水平制表符,using System;,class,clsEscape,static void Main(),Console.WriteLine(aBellaBellaBell,);,Console.Write(tTab,);,Console.Write(tTab,);,Console.Write(tTab,);,Console.Write(n,);,Console.WriteLine,(Hello,World!);,程序输出结果如下:,BellBellBell,Tab,Tab,Tab,Hello,World!,bool,类型,bool,类型表示真,/,假值。,C#,用预留的,true,和,false,来定义真和假。因此,bool,类型的变量或表达式的值是这两个值之一。另外在,bool,类型和整数值之间不存在转换。,using System;,class,BoolDemo,public static void Main(),bool,b;,b=false;,Console.WriteLine(b,is +b);,b=true;,Console.WriteLine(b,is +b);,if(b,),Console.WriteLine(This,is executed.);,b=false;,if(b,),Console.WriteLine(This,is not executed.);,Console.WriteLine(10 9 is +(10 9);,枚举类型,枚举是一组已命名的整型常量,用关键字,enum,声明枚举类型。例如:,enum,Days Mon,Tue,Wed,Thu,Fri,Sat,Sun;,理解枚举的一个关键点是:每一个符号代表一个整型值,而且每个符号的值都比其前面的符号值大,1,。默认时,第一个枚举符号的值为,0,。,枚举常量能够用于任何可以使用整型值的地方,但是,,enum,类型和内部的整型之间没有隐含转换,必须使用显示转换。,通过其类型名和点运算符就可以访问枚举成员。,using System;,public class,EnumTest,enum,Days Sat=1,Sun,Mon,Tue,Wed,Thu,Fri;,public static void Main(),Days i;,string color=Red,Yellow,Red,,,Red,Red“,“,Blue,”,Green;,for(i,=,Days.Sat,;i=,Days.Fri,;i+),Console.WriteLine(i,+has value of +(,int)i,);,Console.WriteLine,();,for(i,=Days.Sat-1;i,Days.Fri,;i+),Console.WriteLine(Color,of +i+is +,color(int)i,);,程序的输出结果如下:,Sat has value of 1,Sun has value of 2,Mon has value of 3,Tue has value of 4,Wed has value of 5,Thu has value of 6,Fri has value of 7,Color of 0 is Red,Color of Sat is Yellow,Color of Sun is Red,Color of Mon is Red,Color of Tue is Red,Color of Wed is Blue,Color of Thu is Green,引用类型,和值类型相比,引用类型变量不存储它们所代表的实际数据,但它们存储实际数据的引用。在,C#,中提供以下引用类型给你使用:,对象类型它是其它类型最根本的基类,类类 型一个类类型可以包含数据成员、函数成员,接口一个接口是声明只有抽象成员的引用类型,字符串类型一个用于操作字符串数据的基本字符串类型。,数组一个数组包含有通过计算下标访问的变量,值类型和引用类型的区别,如果我们创建两个值类型变量,i,和,j,,比如,:,int,i=10;,int,j=20;,则,i,和,j,彼此完全独立,并且分配了不同的内存位置:如果我们改变这些变量中的某一个的值,另一个自然不会受到影响。,然而,引用类型的做法却不同。例如,我们可以这样声明两个变量:,class,myclass,myClass,a=new,myClass,();,myClass,b=a;,第一行在内存中创建了,myClass,的一个实例,并且将,a,设置为引用该实例。因此,当我们将,b,设置为等于,a,时,它就包含了对内存中类的引用的重复。如果我们现在改变,b,中的属性,,a,中的属性就将反映这些改变,因为这两者都指向内存中的相同对象,,C#,程序输入和输出方法的使用:,C#,程序输入,在,C#,控制台程序中提供了两种方法让用户输入所需数据,它们是有,Console,类提供的静态方法。,static,int,Read(),和,static string,ReadLine,(),。,要读取单个字符,则使用,Read(),方法,它等待用户输入一个键,然后返回结果。字符作为,int,类型的值返回,所以要显示字符就必须转换为,char,类型。,要读取一串字符,则使用,ReadLine,(),方法。该方法一直读取字符,直到用户按下,ENTER,键,然后将它们返回到,string,类型的对象中。,using System;,class,KbIn,public static void Main(),char,ch,;,Console.Write(Press,a key followed by ENTER:);,ch,=(char),Console.Read,();/get a char,Console.WriteLine(Your,key is:+,ch,);,using System;,class,ReadString,public static void Main(),string,str,;,Console.WriteLine(Enter,some characters.);,str,=,Console.ReadLine,();,Console.WriteLine(You,entered:+,str,);,使用不同的输出方法,两者主要用来将输出流由指定的输出装置,(,默认为屏幕,),显示出来,.,两着间的差异在,Console.WriteLine,(),方法是将要输出的字符串与换行控制字符一起输出,当次语句执行完毕时,光标会移到目前输出字符串的下一行,.,至于,Console.Write,(),方法,光标会停在输出字符串的最后一个字符后,不会移动到下一行。,在,C#,控制台程序中提供了两种方法让用户输出所需数据,它们是有,Console,类提供的静态方法。,static void Write(,数据,),和,static void,WriteLine,(,数据,),。,在输出数据列表时,用加号,”,+”,将组中的每部分隔开。如:,using System;,class,WriteStr,public static void Main(),string s1=This is string 1.;,string s2=This is string 2.;,Console.WriteLine(s1);,Console.WriteLine(s2);,Console.WriteLine,(+s1+n +s2);,通过使用占位符的方式将数据输出,using System;,class,WriteBool,public static void Main(),bool,b1=false,b2=true;,Console.WriteLine(b1=0 b2=1,b1,b2);,b1=False b2=True,变量,变量表示存储位置,变量必须有确定的数据类型。每个变量都属于一种类型,它确定什么样的值可以存储在该变量中,变量的值是可以改变的,,,C#,的类型安全的含义之一就是确保变量的存储位置容纳着合适的类型。,例如:,char x;,int,y;,double w;,定义变量的方法就是在前面写上变量的类型,然后跟上变量的名称。,在,C#,中对于变量的名称有如下规定:,变量名必须以字母开头,变量名只能有字母,数字和下划线组成,不得包括空格,标点等等,变量名不得与,C#,的关键字同名,变量名不得与,C#,的库函数同名,int,I;,char 2abc;,long,er.ror,;,double,Come_on,;,float class;,int,Main;,表达式与运算符,表达式是产生给定类型值的变量,运算符,函数和常量值的任意组合,运算符,表达式中的运算符指示对操作数进行什么样的运算,如,等等都是算术运算符。,关系运算符及其优先次序,C#,语言提供,6,种关系运算符:,(,小于,),(,大于,),=(,大于或等于,),=(,等于,),!=(,不等于,),注意:在,#,语言中,“等于”关系运算符是双等号“,=”,,而不是单等号“,=”,(赋值运算符)。,优先级,(,1,)在关系运算符中,前,4,个优先级相同,后,2,个也相同,且前,4,个高于后,2,个。,(,2,)与其它种类运算符的优先级关系,关系运算符的优先级,低于算术运算符,但高于赋值运算符。,C#,语言提供以下几种常用的逻辑运算符:,(与)、(或)、(短路与)、,|,(短路或)、!,(,非,),x&y,与,x&y,不同的是,如果,x,为,false,,则不计算,y,(因为不论,y,为何值,与操作的结果都为,false,)。这被称作为“短路”计算。,x|y,与,x|y,不同的是,如果,x,为,true,,则不计算,y,(因为不论,y,为何值,“或”操作的结果都为,true,)。这被称作为“短路”计算。,与其它种类运算符的优先关系,!算术运算 关系运算,&|,赋值运算,一个变量必须先赋值,然后才能使
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!