1. 首页
  2. 文档大全

第2章数据类型与流程控制

上传者:2****5 2022-07-01 15:46:27上传 PPT文件 491.01KB
第2章数据类型与流程控制_第1页 第2章数据类型与流程控制_第2页 第2章数据类型与流程控制_第3页

《第2章数据类型与流程控制》由会员分享,可在线阅读,更多相关《第2章数据类型与流程控制(66页珍藏版)》请在文档大全上搜索。

1、1 1第2章 数据类型与流程控制2.1 2.1 数据类型数据类型2.2 2.2 不同数据类型之间的转换不同数据类型之间的转换2.3 2.3 常量与变量常量与变量2.4 2.4 运算符与表达式运算符与表达式2.5 2.5 控制台应用程序与格式化输出控制台应用程序与格式化输出2.6 2.6 C#C#流程控制语句流程控制语句2 22.1 数据类型uC#C#数据类型分为两类:值类型和引用类型。数据类型分为两类:值类型和引用类型。 值类型值类型:值类型变量直接保存变量的值值类型变量直接保存变量的值 包括简单类型、枚举类型、结构类型、可空类型。包括简单类型、枚举类型、结构类型、可空类型。 引用类型引用类型

2、:引用类型变量保存的是数据的引用地引用类型变量保存的是数据的引用地址。址。 包括类、接口、数组、委托。包括类、接口、数组、委托。 一般把引用类型的变量称为对象。一般把引用类型的变量称为对象。3 3类型一览表类型一览表 类类 别别 描描 述述值类型值类型简单类型简单类型有符号整型:有符号整型:sbyte,short,int,longsbyte,short,int,long无符号整型:无符号整型:byte,ushort,uint,ulongbyte,ushort,uint,ulongUnicodeUnicode字符:字符:charcharIEEEIEEE浮点型:浮点型:float,doublefl

3、oat,double高精度小数:高精度小数:decimaldecimal布尔型:布尔型:boolbool枚举类型枚举类型用户自定义类型用户自定义类型enumenum E E结构类型结构类型用户自定义类型用户自定义类型struct Sstruct S引用类型引用类型类类型类类型所有其他类型的最终基类:所有其他类型的最终基类:objectobjectUnicodeUnicode字符串:字符串:stringstring用户自定义类型用户自定义类型class Cclass C接口类型接口类型用户自定义类型用户自定义类型interface Iinterface I数组类型数组类型单维与多维数组,例如,单

4、维与多维数组,例如,intint与与int,int,委托类型委托类型用户自定义类型用户自定义类型delegate T D()delegate T D()4 4值类型与引用类型区别 12345H堆栈(stack)堆(heap)56ijCHI实际数据12345H地址objobj5 5值类型和引用类型的区别 特性特性值类型值类型引用类型引用类型变量中保存的内容变量中保存的内容实际数据实际数据指向实际数据的引用指针指向实际数据的引用指针内存空间配置内存空间配置堆栈(堆栈(StackStack)受管制的堆(受管制的堆(Managed HeaManaged Heap p)内存需求内存需求较少较少较多较多执

5、行效率执行效率较快较快较慢较慢内存释放时间点内存释放时间点执行超过定义变量执行超过定义变量的作用域时的作用域时由垃圾回收机制负责回收由垃圾回收机制负责回收可以为可以为nullnull不可以不可以可以可以6 62.1.2 整型 uC#C#提供了八种整型(即计算机组成原理中的提供了八种整型(即计算机组成原理中的“定点数定点数”):): sbytesbyte:1 1字节有符号字节有符号 bytebyte: 1 1字节无符号字节无符号 shortshort: 2 2字节有符号字节有符号 ushortushort:2 2字节无符号字节无符号 intint: 4 4字节有符号,最常用字节有符号,最常用 u

6、intuint: 4 4字节无符号字节无符号 longlong: 8 8字节有符号字节有符号 ulongulong:8 8 字节无符号字节无符号各类型表示的数据类型见表各类型表示的数据类型见表2-32-37 72.1.3 浮点类型 floatfloat: 4 4字节浮点数,常用。例如:字节浮点数,常用。例如:35.0f35.0fdoubledouble: 8 8字节浮点数,常用。例如:字节浮点数,常用。例如:2.7E+232.7E+23decimaldecimal:1616字节浮点数,特殊的浮点数,精度高字节浮点数,特殊的浮点数,精度高 适用于金融、货币等需要高精度数值的领域。适用于金融、货币

7、等需要高精度数值的领域。 其类型指定符为其类型指定符为M M(或(或m m)。)。 例如:例如: decimal y = 9999999999999999999999999m; decimal y = 9999999999999999999999999m; floatfloat和和doubledouble的浮点数格式与计算机组成原理介绍的的浮点数格式与计算机组成原理介绍的IEEE754 IEEE754 规定的格式相同规定的格式相同 各类型表示的数据类型见表各类型表示的数据类型见表2-42-48 82.1.4 布尔型 u 用用boolbool表示,表示,boolbool类型只有两个值类型只有两个

8、值truetrue和和falsefalse。 例如:例如: bool isExist = false;bool isExist = false; bool b = (i0 & i0 & i-intint类型类型 public static int Parse(string)。 如果 string 为空,则抛出 ArgumentNullException 异常; 如果 string 格式不正确,则抛出 FormatException 异常; 如果 string 的值小于 MinValue 或大于 MaxValue 的数字,则抛出 OverflowException 异常。 string stri

9、ngType = 12345; int intType = (int)stringType; /错误,string 类型不能直接转换为 int 类型 int intType = Int32.Parse(stringType); /正确,123451414u 显式转换显式转换4 4 使用使用TryParseTryParse()()方法方法实现值类型之间的转换实现值类型之间的转换。Int32.TryParse()不抛异常,会返回true或false来说明解析是否成功,如果解析错误,调用方将会得到0值。例如:字符串例如:字符串-intint类型类型int i;string str=123456;In

10、t32.TryParse(str,out i);/将str的值强制转换成数字,并赋给 iu toStringtoString()()转换转换 当把值类型转换成字符串类型时,可以直接调用值类型的方法toString()进行转换,另外toString还可以将结果转换成相应的进制形式. /转换为十六进制形式(X可以换为小写,代表对应的a-f的大小写) int a = 256; string b =a.ToString(X); 15152.2.2 值类型与object类型之间的转换-装箱与拆箱u C#C#的类型系统是统一的,这样任何类型的值都能够被处理成的类型系统是统一的,这样任何类型的值都能够被处理

11、成对象。对象。u C#C#中每一个类型直接或者间接从中每一个类型直接或者间接从objectobject类继承而来,并且类继承而来,并且obobjectject是所有类型最终的基类。是所有类型最终的基类。u ObjectObject类型:类型:SystemSystem命名空间下有一个命名空间下有一个ObjectObject类,该类是,类,该类是,所有其他引用类型的基类。所有其他引用类型的基类。u 考察:考察:String s=(10).ToString();String s=(10).ToString(); C# C#如何调用数值如何调用数值1010上的方法上的方法ToString()? ToS


文档来源:https://www.renrendoc.com/paper/212658265.html

文档标签:

下载地址