您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 给排水/暖通与智能化 > C#语法基础解读
1模块2-1VisualC#语法2usingSystem;namespacehello{classClass1{staticvoidMain(string[]args){Console.WriteLine(“Hello”);}/*我的第一个C#程序*/}}导入命名空间主方法C#语句指定名字空间定义类关键字2.1一个简单的C#程序标识符标识符注释3关键字也叫保留字,是对C#有特定意义的字符串。关键字在VisualStudio环境的代码视图中默认以蓝色显示。1、关键字42、标识符标识符(identifier)是一串字符,在程序中作为各种标识,用来代表一个名字。C#的标识符有如下规则:(1)一个合法的C#标识符,是由字母、数字、下划线组成,但是第一个字符不能是数字。(2)C#的标识符严格区分大小写。(3)不能是关键字。标识符的名称最好和实际的应用联系起来,这样可以使程序更容易理解,做到“见名知意”。比如,用来表示售货员的标识符使用salesman比用people更容易理解。标识符的第一个字符不能为数字5•C#的标识符不能与关键字相同,但是可以使用“@”前缀来避免这种冲突。例如:@whilewhile5C#程序设计实用教程√×2、标识符63、.NET的命名空间using关键字•允许在一个命名空间中使用另一个命名空间的类usingSystem;•如果在该例中没有导入该命名空间,则程序应该写成:System.Console.WriteLine(“Hello”);注:using语句是惟一允许写在任何花括号{}之外的语句,并且其后必须带有分号“;”一般在创建项目时,会自动生成需要的系统的命名空间,但是如果需要某用户的命名空间,需要自己导入。7•using语句使用示例//在这里引入命名空间System中的所有名字,以便使用其中//的Console类进行输入输出。usingSystem;classProgram{staticvoidMain(string[]args){Console.WriteLine(“Helloworld!”);}}3、.NET的命名空间83、.NET的命名空间•命名空间又称名空间或名字空间,它是组织应用程序的一种结构。使用命名空间是为了避免程序中类名的冲突。•namespace关键字定义命名空间的语法为:namespacename[.name1…]{typedeclarations}任何一段代码都必须放在某一个命名空间内,以防止类名的冲突。93、类和方法•C#中,必须用类来组织程序的变量与方法。•C#要求每个程序必须且只能有一个“Main”方法。“Main”方法必须放在某一个类中。“Main”方法是应用程序的入口。4、语句•语句就是C#应用程序中执行操作的指令。C#中的语句必须用分号“;”结束。可以在一行中书写多条语句,也可以将一条语句书写在多行上。105、在C#中,括号“{”和“}”是一种范围标志,用于标识应用程序一段代码的开始与结束。6、缩进与空格•缩进用于表示代码的结构层次,这在程序中不是必须的,但是缩进可以清晰地表示程序的结构层次。•空格有两种作用,一种是语法要求,必须遵守,一种是为使语句不至于太拥挤。例如:inta=3;117、添加注释:A)“//”:单行注释B)“/**/”:多行注释C)///12/*导入.NET系统类库提供的命名空间System*/usingSystem;classWelcome//定义类{staticvoidMain()/*程序的入口。其中static表示Main()方法是一个静态方法,void表示该方法没有返回值*/{Console.WriteLine("欢迎使用C#");//输出欢迎使用C#}}138、注意:•严格区分大小写;大写“A”与小写“a”对C#来说,是两个不同的字符。例如下面的4个标识符是不同的:MembermemberMemBerMEMBER14练习:1.以下标识符中,错误的是()A._b39B.x345C.6_321D.nAverage2.以下标识符中,正确的是()A._nNameB.MainC.6bD.x5#152.3C#的数据类型C#数据类型值类型引用类型简单类型结构类型枚举类型类类型数组类型字符串类型接口类型委托类型整数类型实数类型字符类型布尔类型162.3C#基本数据类型-值类型预定义类型定义字节数byte0~255之间的整数1sbyte-128~127之间的整数1short-32768~32767之间的整数2ushort0~65535之间的整数2int-2147483648~2147483647之间的整数4uint0~4294967295之间的整数4long-9223372036854775808~9223372036854775807之间的整数8ulong0~188446744073709551615之间的整数81、整数类型172.3C#基本数据类型-值类型2、实数类型类型名说明数据范围字节数实数类型float单精度浮点数1.5×10-45~3.4×10384double双精度浮点数5.0×10-324~.7×103088decimal精确的十进制数有28位有效数字1.5×10-28~3.4×102812精度为7位数精度可达15到16位方便我们在金融和货币方面的计算182.3C#基本数据类型-值类型数值常量后缀类别后缀说明整数类型U无符号L长整型UL无符号长整型实数类型F单精度浮点数D双精度浮点数M精确的十进制数例如:longl=278L;floatf=2.6F;decimald_value=2.0M;注:如果不加后缀,整型默认int类型;实数默认double类型193、字符类型字符类型的类型标识符是char,采用Unicode字符集,为双字节型,它的数据可以占有2个字节,可表示65536种不同的字符,这样就可以直接在一个char型变量中存储一个汉字。凡是在单引号中的一个字符,就是一个字符常数,如:‘你’、‘A’、‘?’、‘6’、‘2’为了表示单引号和反斜杠等特殊的字符常数,C#提供了转义字符。表2.1列出了C#的转义字符:2.3C#基本数据类型-值类型可以适用于所有已知的编码202.1C#的转义字符。2.3C#基本数据类型-值类型转义字符意义\'1个单引号\1个双引号\\1个反斜杠\01个空字符(注意不表示字符串结束)\a警报符\b退格\f换页\n换行\r回车\t水平制表位\v垂直制表位212.3C#基本数据类型-值类型•例如字符串常量“c:\\windows\\system32”的真正含义是路径c:\windows\system32。•C#可以用反转符@去掉反斜杠的转义,如上也可以写成:@“c:\windows\system32”222.3C#基本数据类型-值类型4、布尔类型布尔类型是用来表示“真”和“假”这两个概念的,在C#中,分别采用true和false两个值来表示。•注意:true值不能被其他任何非零值所代替。只能如下写法:•boolx=true;或x=false;23该类型的变量不直接存储所包含的值,而是指向它所要存储的值的地址。在C#中提供以下引用类型:l对象类型l类类型l接口l代表元(委托)l字符串类型l数组2.3C#基本数据类型-引用类型241、对象类型(object)对象类型是所有类型之母——它是其他类型最根本的基类,可把任何类型的值赋给它。例如:objecttheObj=123;objecttheObjc=‘a’;ObjecttheObjd=12.3;2.2C#的数据类型-引用类型252.2C#的数据类型-引用类型2、字符串类型(string)•一个字符串是被双引号包含的一系列字符。•string类是专门用于对字符串进行操作的。stringstr1="中国,";stringstr2="你好!";stringstr3=str1+str2;//这相当于str3="中国,你好!"charc=str3[0];//取出str3的第一个字符,即“中”字。26字节数少的类型--字节数多的类型(隐式转换)例如:inta=10;doubled=3.5;d=a;a=d;2.4数据类型转换正确错误1、值类型intx=123456;//int是4字节的整型longy=x;//隐式转换为long27但字节数多的类型--------字节数少的类型(显式转换)例如:a=(int)d;强制类型转换正确28•C#中的字符型与整型之间不能自动转换。以下语句在C#中不合法:charc=13;不过用户依旧可以将一个整型数显式地转换为一个字符数据类型,然后赋值给字符变量。如下:charc=(char)13;√×注意:bool类型与数字类型之间不能转换,即使强制类型转换也不行。292、引用类型装箱和拆箱:装箱和拆箱概念是C#类型系统的核心,它可以完成值类型和引用类型之间的转换。装箱:是指将一个值类型隐式地转换成一个object类型,或者把这个值类型转换成一个被该值类型应用的接口类型。值类型——〉Object类型(接口类型)隐式2.4数据类型转换30对象类型(object)装箱过程分两步:1.首先创建一个object实例;2.然后将这个值类型的值复制到这个object实例中。•如:intk=10;objectobj=k;•也可用显式的方法进行装箱操作:objectobj=(object)k;2.4数据类型转换31例2_6:在程序中执行装箱转换。classProgram{staticvoidMain(string[]args){Console.WriteLine(执行装箱转换:);intk=200;objectobj=k;k=300;Console.WriteLine(obj={0},obj);Console.WriteLine(k={0},k);}}2.4数据类型转换32拆箱:和装箱转换正好相反,拆箱转换是指将一个对象类型显式地转换成一个值类型,或是将一个接口类型显式地转换成一个执行该接口的值类型。Object类型(接口类型)——〉值类型显式2.4数据类型转换33对象类型(object)拆箱的过程分为两步:1.首先,检查这个对象实例,看它是否为给定的值类型的装箱值2.然后,把这个实例的值拷贝给值类型的变量。如:intk=10;objectobj=k;intj=(int)obj;2.4数据类型转换34装箱和拆箱intvalue=130;objecto=value;Console.WriteLine(“对象的值={0},o);intvalue=130;objecto=value;intnumber=(int)o;Console.WriteLine(num:{0},number);值类型引用类型拆箱装箱值类型引用类型值类型注:被装过箱的对象才能被拆箱35例2_7:在程序中使用拆箱转换。classProgram{staticvoidMain(string[]args){intk=228;objectobj=k;//装箱转换intj=(int)obj;//拆箱转换Console.WriteLine(k={0}\tobj={1}\tj={2},k,obj,j);}}该程序执行后,输出结果如下:k=228obj=228j=22836变量•变量是程序运行过程中用于存放数据的存储单元。•变量的值在程序的运行过程中可以改变。1、变量的定义•变量必须先定义后使用,定义的格式是:类型名变量名1,变量名2…;例如:inta,b,c;doublefsum;stringstrName;charb;intx;2.5变量和常量注意:C#的标识符要严格区分大小写。372.变量的赋值变量的赋值,就是将数据保存到变量所代表的存储单元中的过程。格式:变量名=表达式;意义:计算表达式的值,然后将这个值赋予变量。例:intnAgeSum;nAgeSum=210;//给nAgeSum变量赋予数值2102.5变量和常量383、变量的初始化•定义变量时可以一并用“=”赋值,称为变量的初始化。例如:inta=
本文标题:C#语法基础解读
链接地址:https://www.777doc.com/doc-3226630 .html