资源预览内容
第1页 / 共51页
第2页 / 共51页
第3页 / 共51页
第4页 / 共51页
第5页 / 共51页
第6页 / 共51页
第7页 / 共51页
第8页 / 共51页
第9页 / 共51页
第10页 / 共51页
亲,该文档总共51页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第第2 2章章 数据类型与流程控制数据类型与流程控制内容提要 2.1 数据类型 2.2 不同数据类型之间的转换 2.3 常量与变量 2.4 运算符与表达式 2.5 控制台应用程序与格式化输出 2.6 C#流程控制语句2预期目标 掌握C#的基本语法32.1 数据类型 C#数据类型分为两类:值类型和引用类型。 值类型:包括简单类型、枚举类型、结构类型、可空 类型。 引用类型:包括类、接口、数组、委托。 一般把引用类型的变量称为对象。4值类型与引用类型区别堆栈堆56ij实际数据12345Hobj5值类型和引用类型的区别 特性值类型引用类型变量中保存的内容实际数据指向实际数据的引用指针内存空间配置堆栈(Stack)受管制的堆(Managed Heap )内存需求较少较多执行效率较快较慢内存释放时间点执行超过定义变量 的作用域时由垃圾回收机制负责回收可以为null不可以可以62.1.2 整型 C#提供了八种整型(即计算机组成原理中的“定 点数”): sbyte:1字节有符号 byte: 1字节无符号 short: 2字节有符号 ushort:2字节无符号 int: 4字节有符号,最常用 uint: 4字节无符号 long: 8字节有符号 ulong:8 字节无符号72.1.3 浮点类型 float:4字节浮点数,常用。例如:35.0f double:8字节浮点数,常用。例如:2.7E+23 decimal:16字节浮点数,特殊的浮点数,精度 高,适用于金融、货币等需要高精度数值的领域 。其类型指定符为M(或m)。 例如: decimal y = 9999999999999999999999999m; float和double的浮点数格式与计算机组成原理介 绍的IEEE754规定的格式相同82.1.4 布尔型 用bool表示,bool类型只有两个值true和false 。 例如: bool isExist = false; bool b = (i0 elseswitch (i / 10) /整除case 10:Console.Write(“满分,“);goto case 9;case 9:Console.WriteLine(“优秀“);break;case 8:case 7:Console.WriteLine(“良好“);break;case 6:Console.WriteLine(“及格“);break;default:Console.WriteLine(“不及格“);break;Console.ReadLine();352.6.2 循环语句 包括: for语句 while语句 do-while语句 foreach语句,用于对集合、数组进行操作。 362.6.2 循环语句(续) for语句 一般形式:for (初始值;循环条件;循环控制) 语句序列 37例.使用for语句控制循环体public static void Main() Console.Clear();Console.BackgroundColor = ConsoleColor.Blue;Console.ForegroundColor = ConsoleColor.Red;Console.Beep();for (int i = 1; i 10; i += 2) Console.SetCursorPosition(40 - i / 2, i);for (int j = 0; j i; j+)Console.Write(“*“);Console.WriteLine();Console.ReadLine(); 382.6.2 循环语句(续) while语句 一般形式: 循环体内的程序可能会执行多次,也可能一次也 不执行。while (条件) 语句序列 392.6.2 循环语句(续) do-while 一般形式: 循环体内的程序至少会执行一次,然后再判断条 件是否为true,如果条件为true,则继续循环。do 语句序列 while (条件); 402.6.2 循环语句(续) foreach语句 foreach语句用于逐个提取集合中的元素,并对集合中 每个元素执行语句序列中操作的场合。一般形式为: 注意:循环变量是一个只读型的局部变量。foreach ( 类型 标识符 in 表达式 ) 语句序列412.6.2 循环语句(续) 判断下列语句是否正确,并说明原因int myInt=1,2,3;foreach(int test in myInt)test+;Console.WriteLine(test);422.6.3 跳转语句 1.break语句 功能:退出最近的封闭switch、while、do-while、 for或foreach语句。 格式: break;43示例 【例】循环接收和输出键盘输入的每一行的值, 当接收的内容为空字符串时退出。 using System; namespace BreakExample public class Program public static void Main() for (; ; ) Console.Write(“请输入一个字符串(直接回车退 出):“);string s = Console.ReadLine();if (s = “) break;Console.WriteLine(“你输入的是: 0.“, s);Console.ReadLine(); 442.6.3 跳转语句 (续) 2.continue语句 功能:将控制传递给下一个while、do-while、for或 foreach,继续执行下一次循环。 格式: continue ; 3.goto语句 仅在下面两种情况下才可能会使用goto语句: (1)用于switch语句中从一个case标签转到另一个 case标签处。 (2)用于直接退出到多重嵌套循环的外部。452.6.3 跳转语句 (续) 4.return语句 功能:将控制返回到出现return语句的函数成员的调用 方。 格式: return 表达式; 其中表达式为可选项,如果该函数成员的返回类 型不为null,则return语句必须使用表达式返回 这个类型的值,否则return语句不能使用表达式 。462.6.4 异常处理 1.try-catch语句 在程序运行正常的时候,执行try块内的程序。如 果try块中出现了异常,程序就转移到catch块中 执行。 try 语句序列 catch(异常类型 标识符)异常处理 472.6.4 异常处理 (续) 2.try-catch-finally语句try 语句序列 catch(异常类型 标识符)异常处理 finally语句序列 482.6.4 异常处理 (续) 3.throw语句 格式: throw 表达式; 抛出表达式的值。 注意表达式类型必须是System.Exception或从 System.Exception派生的类的类型。 throw也可以不带表达式,不带表达式的throw语 句只能用在catch块中,在这种情况下,它重新抛 出当前正在由catch块处理的异常。 49例.异常处理 using System; namespace TryCatchExample class Program static void F() try G();catch (Exception err) Console.WriteLine(“方法F中捕获到: “ + err.Message); / 重新抛出当前正在由catch 块处理的异常errthrow;static void G() throw new Exception(“方法G中抛出的异常。“);static void Main() try F();catch (Exception err) Console.WriteLine(“方法Main中捕获到:“ + err.Message);Console.ReadLine(); 50小结 51
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号