《常量变量数据类型.ppt》由会员分享,可在线阅读,更多相关《常量变量数据类型.ppt(27页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第第2章章常量、变量、基本数据类型常量、变量、基本数据类型知识目标知识目标l掌握C#的简单数据类型的使用l熟练掌握运算符的使用l熟练掌握表达式的编写l了解C#常用的转义符l理解数据类型的转换 2能力目标能力目标l能在程序正确使用C#的各种简单数据类型(整数、浮点、小数、字符和布尔类型)。l能在程序正确使用各类运算符和书写各类正确表达式。掌握C#常用转义符的正确使用。掌握数据类型的转换。3 2.1 符号常量1、符号常量:使用它可以使用程序的更新更简洁。2、符号常量的定义:格式:const 数据类型 符号常量名=值;与普通变量的定义相比,多了个const。符号常量有作用域的问题。4变量l声明方法
2、数据类型 变量名=初始值;注意:C#是强类型语言,它不会缺省地把数值型变量初始化为0,或将字符串初始化为空串,所以,所有变量使用前要初始化。l命名规则 q变量名的第一个字符必须是字母、下划线(_),其后的字符可以是字母、下划线或数字 q不能使用C#关键字,C#是区分大小写的 l变量的赋值q变量的赋值是通过赋值运算符来完成q转义字符():转义字符中字符的含义与C语言完全相同。当字符串中有“”时,为了把“”作为普通字符,就需要取消它的转义,方法是在该字符串的前面加上一个“”,或用两个“”,如:string str=“mystringnabc”;string str=“mystringnabc”;举
3、例ex2-1:转义字符与取消转义的方法。5数据类型数据类型lC#数据类型分为两大类:值类型和引用类型。l值类型:通常表示基本类型,包括:1整数类型整数类型int,long,short2布尔类型布尔类型 bool3浮点型浮点型float double4结构类型结构类型struct5枚举类型枚举类型enum6.字符类型字符类型charl值类型的变量在内存的栈区分配空间,其存储空间直接存储其值。6引用类型引用类型l引用类型变量在栈区分配的内存空间存储实际数据的引用(即地址)。一般使用new这个关键字在堆区为该变量分配存储数据的内存块。lC#提供了以下几种引用类型:类类型类类型字符串类型字符串类型数组
4、数组接口类型接口类型委托类型委托类型72.2数据类型整数类型Byte Byte:无符号单字节整型数,范围为:无符号单字节整型数,范围为02550255,shortshort:占:占2 2个字节有符号整型数,范围为个字节有符号整型数,范围为-3276832767-3276832767,对应对应.NET.NET中中Int16Int16IntInt:占:占4 4个字节有符号整型数,对应个字节有符号整型数,对应.NET.NET中中Int32Int32long long:占:占8 8个字节有符号整型数,对应个字节有符号整型数,对应.NET.NET中中Int64Int6482.2数据类型浮点数类型floa
5、t:占占4 4个字节单精度浮点数,有个字节单精度浮点数,有7 7个有效数字个有效数字double:占占8 8个字节双精度浮点数,有个字节双精度浮点数,有1515个有效数字个有效数字decimal:占占1616个字节货币型数,有个字节货币型数,有2828个有效数字个有效数字其它数据类型char:字符型,对应对应.NET.NET中中Char,Char,它占用2个字节,用单引号定界,对应于统一码utf-16string:字符串型,对应对应.NET.NET中中String,String,用双引号定界bool:逻辑型,对应对应.NET.NET中中BooleanBoolean,只有两个值:,只有两个值:t
6、rue,falsetrue,falseobject:对象类型,可以存放任意数据类型的数据,它是所有类的父类。9 2.3 类型转换 1、隐式转换:当多种数值型数据在一起混合运算时,发生隐式转换,执行转换的规则数据提升,即数值数据转换时是从低精度向高精度提升转换。2、显式转换:又叫强制类型转换,转换的格式为:(类型)(表达式)说明:当表达式为单个数据时,两边的括号可以省略3、使用Convert命令进行显式转换。104、使用Parse()方法转换。每种数据类型都有一个Parse()方法,它用来把方法内的字符串转换为该种数据类型。格式为:类型.Parse(待转换的字符串)如:int.Parse(“20
7、4”)返回的是 int 型的 20411一、DateTime 类(介绍其属性)1、属性Now:此属性为Static型,无需实例化即可使用,它返回DateTime类型长格式的电脑当前的日期+时间。如:DateTime.Now2、属性Year、Month、Day、Hour、Minute、Second:这些属性为非Static型,需实例化方可使用,它们返回int型当前日期+时间的年,月,日,时,分秒。如:DateTime dt=new DateTime();int x=dt.Year;二、Month类(介绍其方法)它的这些方法全是Static型无需实例化即可使用 如:Month.Abs()Month
8、.Sin()Month.Sqrt()等。DateTime、Math、Random、String、MessageBox类介绍 12三、Random类(介绍其方法)这些方法为非Static型,需实例化方可使用1、Next():返回032767之间的int型整数。2、Next(n1):返回0n1-1之间的int型整数。3、Next(n1,n2):返回n1n2之间的int型整数。4、NextDouble():返回0.01.0之间的double型浮点数。如:Random rnd=new Random();int x=rnd.Next(100);double y=rnd.NextDouble();13四、
9、String类:1:字符串格式化:String.Format(“序号,总宽度:数据类型符+小数位,数据“”内为可选项,缺省总宽度,显示为实际宽,缺省小数位,默认为2。数据类型格式符(不区分大小写):C:货币 F:浮点数 E:科学记数法 D:十进制N:使用千分位格式显示 X:以十六进制显示2:Substring(int startIndex):从指定位置取子串到串尾。3:Substring(int startIndex,int length):从指定位置取一定长子串4:Trim():把字符串首尾两端的空格去除掉。例ex2-20:取出并显示电脑的日期,年,月,日,时,分 产生10个1100间的随机
10、整数,并分别求其平方根。14五、MessageBox类:它含有一个主要的方法Show(),用来显示一个消息框格式为:MessageBox.Show(“消息”,“标题”,按钮枚举值,图标枚举值)152.5 运算符与表达式(与C语言完全相同)l算术运算符l赋值运算符l关系运算符l逻辑运算符l位运算符l布尔赋值运算符l运算符的优先级16算术运算符l一元运算符运算符操作数类型示例表达式结 果+整数、浮点数、charvar1=+var2;var1的值是var2+1,var2递增1 整数、浮点数、charvar1=var2;var1的值是var2 1,var2 递减1+整数、浮点数、charvar1=va
11、r2+;var1的值是var2,var2递增1 整数、浮点数、charvar1=var2 ;var1的值是var2,var2 递减1+整数、浮点数var1=+var2;var1的值等于var2的值整数、浮点数var1=var2;var1的值等于var2的值除乘以117算术运算符l二元运算符运算符操作数类型示例表达式结 果+整数、浮点数、char、stringv1=v2+v3;v1的值是v2与v3的和整数、浮点数、charv1=v2v3;v1是v2的值减去v3的值所得的值*整数、浮点数、charv1=v2*v3;v1 的值是v2与v3的乘积/整数、浮点数、charv1=v2/v3;v1是v2除以
12、v3所得的值%整数、浮点数、charv1=v2%v3;v1是v2除以v3所得的余数18赋值运算符运 算 符示例表达式结 果=var1=var2;var1被赋予var2的值+=var1+=var2;var1被赋予var1与var2的和=var1=var2;var1被赋予var1与var2的差*=var1*=var2;var1被赋予var1与var2的乘积/=var1/=var2;var1被赋予var1与var2相除所得的结果%=var1%=var2;var1被赋予var1与var2相除所得的余数19关系运算符lC#共支持6种关系运算符 运算符示例表达式结 果=var1=var2=var3;如果v
13、ar2等于var3,var1的值就是true,否则为false!=var1=var2!=var3;如果var2不等于var3,var1的值就是true,否则为falsevar1=var2 var1=var2 var3;如果var2大于var3,var1的值就是true,否则为false=var1=var2=var1=var2=var3;如果var2大于或等于var3,var1的值就是true,否则为false20逻辑运算符运算符操作数类型示例表达式结 果!Bool变量或表达式var1=!var2;(逻辑非)&Bool变量或表达式var1=var2&var3;(逻辑与)|Bool变量或表达式va
14、r1=var2|var3;(逻辑或)Bool变量或表达式var1=var2 var3;(逻辑异或)&Bool变量或表达式var1=var2&var3;(短路逻辑与)|Bool变量或表达式var1=var2|var3;(短路逻辑或)21位运算符l位运算符能够对操作数进行位级操作,如按位对操作数进行位移动和位比较等。部分位运算符与逻辑运算符在形式上是一样的,区别在于其操作数及返回结果不同。q按位与&q按位或|q按位异或 q按位取反 q移位运算符 22运算符的优先级(与C语言完全相同)优 先 级运 算 符优 先 级 由 高 到 低+,-(用作前缀);(),+,(一元),!,*,/,%+,=,!=&|
15、&|=,*=,/=,%=,+=,=,=,&=,=,|=+,(用作后缀)23三元运算符(与C语言完全相同)l其语法格式如下:q?:l第一个操作数是条件表达式。l当第一个条件表达式为真时,返回第二个表达式的值,否则返回第三个表达式的值。24作用域 作用域指常量,变量,数组等可以起作用的范围。作用域分为:块作用域:作用范围在一个大括号内。方法级作用域:作用范围在一个方法体内。类作用域:类的私有成员,它的作用范围是当前类,在类外不可见。25小结l数据类型,常量,变量,数组l运算符26训练任务或案例训练任务或案例l任务1:编写程序,定义各种数据类型变量,输出它们的数值。l任务2:在上述C#程序中增加各种类型的表达式,观察程序的输出结果。l任务3:修改程序,增加常用的转义符,观察输出结果。l任务4:修改程序,增加数据类型的转换程序,观察和分析程序的运行结果。27