数据类型、运算符与常用方法数据类型数据是程序的必要组成部分,也是程序的处理对象。对应用程序中的数据来说,每个数据都必须具有确定的数据类型,数据的类型决定了该数据能够取值的范围以及能够参加的操作堆栈存储单元iNumiNum=100;iNum=iNum+10;0100110声明并初始化变量声明指定类型指定变量名以分号结束intnumberOfVisitors;初始化变量使用赋值运算符(=)指定值以分号结束123123赋值附加后缀1decimaldeposit=100M;stringbear;stringbear=Grizzly;命名变量关于变量命名的一般建议:变量名应具有描述性质在包含多个单词的变量名中,从第二个单词开始,每个单词都采取首字母大写的形式变量名最好以小写字母开头课堂讨论13请谷歌()或爱词霸()来帮忙。2我英文不好,如何给变量起合适的英文名?声明变量变量使用原则:先声明,后使用变量声明方法:数据类型变量名;整数类型整数类型在计算机中的取值范围描述位数数据类型取值范围有符号整数8sbyte–128~12716short–32768~3276732int–2147483648~214748364764long–9223372036854775808~9223372036854775807无符号整数8byte0~25516ushort0~6553532uint0~429496729564ulong0~18446744073709551615浮点类型浮点类型在计算机中的取值范围描述位数数据类型取值范围单精度浮点型32float1.5×10−45到~3.4×1038,7位精度双精度浮点型64double5.0×10−324~1.7×10308,15位精度十进制类型十进制类型在计算机中的取值范围描述位数数据类型取值范围十进制类型128decimal1.0×10−28~7.9×1028,29位精度布尔类型布尔类型表示现实中的“真”或“假”这两个概念,主要用来进行逻辑判断。在C#中,分别采用true和false这两个值来表示“真”和“假”。描述位数数据类型取值范围布尔类型8booltrue或false字符类型字符类型采用国际上公认的Unicode标准字符集描述位数数据类型取值范围字符类型16char在0~65535范围内以双字节编码的任意符号char(字符型)字符数据类型在C#程序设计中,可以使用一条语句定义一个或者若干个字符型变量,例如:charmyChar;//定义了一个字符型变量myCharcharmyChar1,myChar2;//同时定义了两个字符型变量在C#程序设计中,同样可以在定义字符型变量的同时对其进行初始化。对字符型变量的初始化值只能是单个的字符常量,若使用字符串数据初始化字符变量,编译系统会指出不能将字符串转换为字符的错误。下面是一些不正确的字符型变量初始化示例://’A’+1是整型数据常量,不能自动转换为字符charmyChar1=’A’+1;//“a”是字符串常量,不能转换为字符charmyChar2=a;//在\u后面十六进制数据不足4位charmyChar3='\u041';下面是一些正确的字符型变量初始化示例:charmyChar1=’A’;charmyChar2='\x41';charmyChar3='\u0041';string(字符串型)字符串数据C#语言使用Unicode字符集,字符串数据是由双引号括起来的0个或多个Unicode字符组成。在字符串常量中可以包含有“转义字符”样式的字符数据,根据需要可以将其作为转义字符看待,也可以将其作为普通字符对待。例如对于字符串常量def\nABC,可以将其中的\n作为转义字符“换行符”对待,也可以将其看成是两个字符“反斜杠”和“字母n”。为了能够区别这两种情况,C#语言规定,在需要将字符串常量中包含的“转义字符”样式字符数据作为普通字符时,在字符串常量前面用字符“@”引导。stringstr1=def\nABC;//字符串中含有7个字符,'\n'是转义字符stringstr2=@def\nABC;//字符串中含有8个字符,'\'和'n'是两个独立字符String常用方法C#中常用的字符串处理方法:Equals():比较两个字符串的值是否相等Join():连接字符串Split():分割字符串IndexOf():查找某个字符在字符串中的位置SubString():从字符串中截取子字符串ToLower():将字符串转换成小写形式Trim():去掉字符串两边的空格常量定义:常量就是其值固定不变的量声明方法:const数据类型常量表达式;为什么需要类型转换编译器要确切地知道数据的类型intnum=123;整数字符串需要类型转换!编译出错怎样进行隐式类型转换隐式转换:自动类型转换floatint规则:对于数值类型,A的取值范围完全包含在B内AB隐式数值转换隐式数值转换包括以下几种:从到sbyteshort、int、long、float、double或decimalbyteshort、ushort、int、uint、long、ulong、float、double或decimalshortint、long、float、double或decimalushortint、uint、long、ulong、float、double或decimalintlong、float、double或decimaluintlong、ulong、float、double或decimallongfloat、double或decimalulongfloat、double或decimalcharushort、int、uint、long、ulong、float、double或decimalfloatdoublestaticvoidMain(string[]args){doublescore=58.5;//原始成绩intbonus=2;//加分intsum;//总分sum=score+bonus;//计算总分Console.WriteLine(sum);Console.ReadLine();}怎样进行显式类型转换staticvoidMain(string[]args){doublescore=58.5;intbonus=2;intsum;sum=(int)score+bonus;Console.WriteLine(sum);Console.ReadLine();}×明确告诉编译器转换类型注意:double(58.5)-int(58),精度可能丢失!显式转换:强制类型转换显式数值转换显式数值转换是指当不存在相应的隐式数值转换时,从一种数值类型到另一种数值类型的转换。从到sbytebyte、ushort、uint、ulong或charbytesbyte或charshortsbyte、byte、ushort、uint、ulong或charushortsbyte、byte、short或charintsbyte、byte、short、ushort、uint、ulong或charuintsbyte、byte、short、ushort、int或charlongsbyte、byte、short、ushort、int、uint、ulong或charulongsbyte、byte、short、ushort、int、uint、long或charcharsbyte、byte或shortfloatsbyte、byte、short、ushort、int、uint、long、ulong、char或decimaldoublesbyte、byte、short、ushort、int、uint、long、ulong、char、float或decimaldecimalsbyte、byte、short、ushort、int、uint、long、ulong、char、float或double使用Parse()进行转换字符串和数值型的互相转换intfloatdoublestringfloat.Parse()ToString()必须是数字的有效表示形式!使用Convert类进行转换使用Convert:Convert.ToXxx(objectvalue)Convert.ToInt32()Convert.ToSingle()Convert.ToString()double85.63string85.63int86float85.63演示示例7:不同类型的相互转换Parse与ConvertXxx.Parse(string)目标类型的有效表示形式Convert.ToXxx(object):注:Xxx表示某种类型字符串其他类型任意类型其他类型小结类型转换有几种方式?stringmyString=Hello;intmyInt=int.Parse(myString);doublescore=59.3;intmyInt=Convert.ToInt32(score);doublescore=92.6;stringmyString=score.ToString();错误!字符串不是有效的整数形式转换成功!myString为92.6转换成功,但精度丢失!myInt为59下面各种转换的结果是什么?随堂练习以下4个变量名中,合法的变量名是________。(1)&adw(2)Goodbye(3)_list(4)jx@shi.com习题(续)4.简答题(4)下面代码运行后,myInteger的值是多少?intmyInteger;doublemyDouble=5555.55;myInteger=(int)myDouble;随堂练习1.下面声明了一些数值类型的变量shorts=10;inti=5;uintui=50;longl=1000;doubled=45.3;decimalm=154;2.试着分析下列哪些类型转换是正确的:s=ui;i=ui;s=l;l=s;m=d;d=m;l=d;m=i;C#程序结构C#程序的组成要素1.关键字在C#代码中常常使用关键字,关键字也叫保留字,是对C#有特定意义的字符串。关键字在VisualStudio环境的代码视图中默认以蓝色显示。例如,代码中的using、namespace、class、static、void等,均为C#的关键字。2.命名空间命名空间既是VisualStudio提供系统资源的分层组织方式,也是分层组织程序的方式。因此,命名空间有两种,一种是系统命名空间,一种是用户自定义命名空间(namespace)。系统命名空间使用using关键字导入,System是VisualStudio.NET中的最基本的命名空间,在创建项目时,VisualStudio平台都会自动生成导入该命名空间,并且放在程序代码的起始处。System.Windows.Forms.MessageBox3.类和方法C#中,必须用类来组织程序的变量与方法。C#要求每个程序必须且只能有一个“Main”方法。“Main”方法必须放在某一个类中。“Main”方法是应用程序的入口。4.语句语句就是C#应用程序中执行操作的指令。C#中的语句必须用分号“;”结束。可以在一行中书写多条语句,也可以将一条语句书写在多行上。5.大括号在C#中,括号“{”和“}”是一种范围标志,是组织代码的一种方式,用于标识应用程序中逻辑上有紧密联系的一段代码的开始与结束。大括号可以嵌套,以表示应用程序中的不同层次。C#程序的格式1.缩进与空格缩进用于表示代码的结构层次,这在程序中不是必须的,但是缩进可以清晰地表示程序的结构层次,在程序设计中应该使用统一的缩进格式书写代码。空格有两种作用,一种是语法要求,必须遵守,一种是为使语句不至于太拥挤。例如:intia=3;2.字母大小写C#中的字母可以大小写混合,但是必须注意的是,C#把同一字母的大小写当作两个不同的字符对待,如,大写“A”与小