C#基础知识-流程控制的应用(四)
流程控制我们在编程中运用到的地方非常的多,在上篇中仅仅只是简单的介绍每一种的使用,并没有运用到实例中,很难去理解它真正的作用。下面我们将实际的运用流程控制的代码写一些实例相关的程序,加深对流程控制的理解,并讲解一下异常处理以及断点调试的使用。
第一个实例我们使用switch语句来写一个大家在QQ或者微信中有玩过的输入你的名字,看看你上辈子是什么?下面是最终的一个结果:

上面的例子是不是很像我们在手机上分享过的呢?我们来思考一下这个流程,输入名字- 系统生成随机数 - 名字+随机数输出的文字 思考一下再看下面的代码:

上面实例化了一个随机数类对象(实例化会在后面的章节会讲到这里我们知道怎样使用就OK了)实例化了一个1-6之间的随机数字,然后使用一个变量name接受我们从控制台中输入的名字,在switch中使用了实例化后的rNumber对象作为一个参数,那么启动程序的时候就会随机的从1-6之间生成一个数字,然后在case中执行相应的内容。是不是很简单呢。
使用for循环输出99乘法表,最终效果如图:

这里的乘法表是一行一行的进行输出,第一行循环2次,第二行循环2次,依次….. 这里就需要使用到一个嵌套循环,最外层循环9次,因为有9行,每一行又循环它的行数次。下面看代码:

if判断这里就不演示了,在上篇中也已经有了案例,下面说一下程序调试、异常处理的常用的方法
断点调试:断点调试主要用来控制程序的运行,通过采用中断的方式停留在我们认为有问题的那条代码上。首先我们需要设置一个断点(在行号前点击空白处) – 单步运行(F11或者在菜单栏中选择) – 观察变量 – F10逐过程调试。
首先设置一个断点:

此时变量的值没有改变,当按下F11逐语句执行时。

str变量的值改变了。所以我们可以通过设置断点的方式让程序逐步执行,这样的话方便我们进行调试。
异常处理:异常处理在程序中是一个很重要的机制,当你的软件程序出现错误 BUG时,可以使用异常处理,常用的异常处理有捕获异常或者抛出异常,这里我不建议使用抛出异常的方式,在一个系统中如果没有良好的去捕获异常并写入日志中,而选择抛出视而不见的话会产生很多未知的错误,所以建议捕获异常并且使用日志的方式记录下来,方便以后程序的维护。

上面的案例
尝试将一个string类型并且赋值了中文的变量赋值给int类型,这样很明显是不可以的,这里就将异常捕获并输出控制台,异常处理的格式是try{ }语句块中放着可能会发生异常的代码,catsh(Exception e)e参数中保存了异常的信息。
也可以使用 catsh(Exception
e){ throw; } 抛出异常,但是一般不建议这样做。
C#基础知识-流程控制的应用(四)的更多相关文章
- 016PHP基础知识——流程控制(四)
<?php /** * 流程控制(四) do...while * do{ 代码段 * }while(){ * } * 特点:最少会执行一次代码段 */ /*$i=5; do{ echo $i; ...
- php面试笔记(4)-php基础知识-流程控制
本文是根据慕课网Jason老师的课程进行的PHP面试知识点总结和升华,如有侵权请联系我进行删除,email:guoyugygy@163.com 在面试中,考官往往喜欢基础扎实的面试者,而流程控制相关的 ...
- 【shell编程】之基础知识-流程控制
和Java.PHP等语言不一样,sh的流程控制不可为空,如(以下为PHP流程控制写法): <?php if (isset($_GET["q"])) { search(q); ...
- 015PHP基础知识——流程控制(三)
<?php /** *流程控制(三) */ /* 循环结构: while(){ } */ //设置脚本最长执行时间:100秒 //set_time_limit(100); $lantian = ...
- 013PHP基础知识——流程控制(一)
<?php /** * 13 流程控制(一) * if语句: if(表达式){ 表达式 }elseif(表达式){ 代码段 } * if语句中,一个条件成立,其他分支不执行. * if中的表达式 ...
- Python 基础知识----流程控制
判断语句 循环语句 嵌套
- 014PHP基础知识——流程控制(二)
<?php /** *switch 分支语句: * switch(表达式){ * case 值1: * ... * break; * * case 值2: * ... * break; * de ...
- Java基础-程序流程控制第二弹(循环结构)
Java基础-程序流程控制第二弹(循环结构) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 流程控制有三种基本结构:顺序结构,选择结构和循环结构.一个脚本就是顺序结构执行的,选择结 ...
- Go语言基础之流程控制
Go语言基础之流程控制 流程控制是每种编程语言控制逻辑走向和执行次序的重要部分,流程控制可以说是一门语言的“经脉”. Go语言中最常用额流程控制有if和for,而switch和goto主要是为了简化代 ...
随机推荐
- [笔记]LR和SVM的相同和不同
之前一篇博客中介绍了Logistics Regression的理论原理:http://www.cnblogs.com/bentuwuying/p/6616680.html. 在大大小小的面试过程中,经 ...
- Modbus通信协议的压力测试
最近物联网都比较的火,因此,特别为各位兄弟姐妹们,奉上一款Mobus协议的测试软件,可以用来做设备的压力测试,和通信测试. 起初软件开发缘由是我们最近在开发一款设备,需要将多个DS18B20并联起来, ...
- 大数据测试之初识Hadoop
大数据测试之初识Hadoop POPTEST老李认为测试开发工程师是面向测试的开发,也就是说,写代码就是为完成测试任务服务的,写自动化测试(性能自动化,功能自动化,安全自动化,接口自动化等等)的cas ...
- 性能测试分享:Jmeter的api监控工具解决方案
性能测试分享:Jmeter的api监控工具解决方案 poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大家咨询q ...
- python selenium2示例 - 生成 HTMLTestRunner 测试报告
前言 在python selenium2自动化测试过程中,一个合适的报告是必须的,而HTMLTestRunner模块为我们提供了一个很好的报告生成功能. 什么是HTMLTestRunner HTMLT ...
- 进入html+css世界的正确姿势
今天,我带大家一起走进html+css的世界. HTML其实是HyperText Markup Language的缩写, 超文本标记语言.他是用于告诉浏览器这是一个网页, 也就是说告诉浏览器我是一个H ...
- 20170410 --- Linux备课资料 --- vim的使用
首先我们要了解一下什么是vim? -----> vim是从vi发展出来的一个文本编辑器. 那问题又来了,什么是vi呢? ------> vi 是Unix like (可以理解为linux) ...
- 微信端解决a标签链接 失效的问题
最近常碰到这个问题就是 在微信端点击a标签链接的时候,第一次正常界面跳转.但是,界面重新跳转回来再次点击a标签的话 .出现 界面不跳转,但是进度条加载完毕,点击多次页面无法跳转. 解决办法 在链接后边 ...
- AM335X开发板学习系列——环境搭建(vbox虚拟机ubuntu14.04下minicom的安装和配置)
这个系列是我学习AM335X的总结. 1. ubuntu虚拟机的USB设备,选择启用usbserial 2. ubuntu虚拟机的网络,采用桥接模式,以保证开发板和ubuntu虚拟机能互相ping通 ...
- 读书笔记 effective c++ Item 47 使用traits class表示类型信息
STL主要由为容器,迭代器和算法创建的模板组成,但是也有一些功能模板.其中之一叫做advance.Advance将一个指定的迭代器移动指定的距离: template<typename IterT ...