流程控制我们在编程中运用到的地方非常的多,在上篇中仅仅只是简单的介绍每一种的使用,并没有运用到实例中,很难去理解它真正的作用。下面我们将实际的运用流程控制的代码写一些实例相关的程序,加深对流程控制的理解,并讲解一下异常处理以及断点调试的使用。

第一个实例我们使用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#基础知识-流程控制的应用(四)的更多相关文章

  1. 016PHP基础知识——流程控制(四)

    <?php /** * 流程控制(四) do...while * do{ 代码段 * }while(){ * } * 特点:最少会执行一次代码段 */ /*$i=5; do{ echo $i; ...

  2. php面试笔记(4)-php基础知识-流程控制

    本文是根据慕课网Jason老师的课程进行的PHP面试知识点总结和升华,如有侵权请联系我进行删除,email:guoyugygy@163.com 在面试中,考官往往喜欢基础扎实的面试者,而流程控制相关的 ...

  3. 【shell编程】之基础知识-流程控制

    和Java.PHP等语言不一样,sh的流程控制不可为空,如(以下为PHP流程控制写法): <?php if (isset($_GET["q"])) { search(q); ...

  4. 015PHP基础知识——流程控制(三)

    <?php /** *流程控制(三) */ /* 循环结构: while(){ } */ //设置脚本最长执行时间:100秒 //set_time_limit(100); $lantian = ...

  5. 013PHP基础知识——流程控制(一)

    <?php /** * 13 流程控制(一) * if语句: if(表达式){ 表达式 }elseif(表达式){ 代码段 } * if语句中,一个条件成立,其他分支不执行. * if中的表达式 ...

  6. Python 基础知识----流程控制

    判断语句 循环语句 嵌套

  7. 014PHP基础知识——流程控制(二)

    <?php /** *switch 分支语句: * switch(表达式){ * case 值1: * ... * break; * * case 值2: * ... * break; * de ...

  8. Java基础-程序流程控制第二弹(循环结构)

    Java基础-程序流程控制第二弹(循环结构) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 流程控制有三种基本结构:顺序结构,选择结构和循环结构.一个脚本就是顺序结构执行的,选择结 ...

  9. Go语言基础之流程控制

    Go语言基础之流程控制 流程控制是每种编程语言控制逻辑走向和执行次序的重要部分,流程控制可以说是一门语言的“经脉”. Go语言中最常用额流程控制有if和for,而switch和goto主要是为了简化代 ...

随机推荐

  1. yum仓库,RPM打包

    rpm命令: -qa  查看软件包是否被安装 -ivh 安装rpm包 -e 卸载包 -qpl 查看rpm包中有什么东西 -qi 查看软件的详细安装信息:安装路径 安装fpm #FPM是Ruby模块yu ...

  2. Swift应用案例 2.闭包入门到精通

      本文主要介绍Swift的闭包的使用并与OC的Block做比较.学习Swift是绕不过闭包的,因为无论是全局函数还是嵌套函数都是闭包的一种,本文主要介绍闭包表达式. 1.闭包表达式的使用 // 1. ...

  3. Sublime Text 3下载-汉化-插件配置

    Sublime Text 3下载 不用说是上官方下载地址:http://www.sublimetext.com/3 Sublime Text 3 免费使用方法 Sublime Text 2的时候还有一 ...

  4. 共通css初次尝试

    1.网页的主要的html <@fn.html css=["${basePath}/css/help/guideCommon.css${versionControl}"]tit ...

  5. unity插件开发——一个例子:简单的svn集成

    在unity开发过程中,通常我们习惯性地在Windows操作系统下使用svn进行版本管理,而每次提交更新,都需要回到文件夹下的这种操作让人无法忍受.是不是可以集成svn到unity中呢?查了一圈uni ...

  6. vue-router2.0简单路由嵌套

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  7. Excel 按模板格式导出

    最近遇到一个问题,就是导出数据的时候需要自定义的表头,如图 如果自己用代码写表头的话,可能会有点复杂,而且代码量很多,所以我就想了一个办法,直接在Excel里面把表头定义好,然后把数据写入Excel模 ...

  8. 老李推荐:第2章2节《MonkeyRunner源码剖析》了解你的测试对象: NotePad窗口Activity之NotesList简介

    老李推荐:第2章2节<MonkeyRunner源码剖析>了解你的测试对象: NotePad窗口Activity之NotesList简介   NotePad窗口Activity之NotesL ...

  9. Uva 11076 Add Again (数论+组合数学)

    题意:给你N个数,求把他们的全排列加和为多少 思路:对于这道题,假设数字k1在第一位,然后求出剩下N-1位的排列数num1,我们就可以知道k1在第一位时 排列有多少种为kind1, 同理,假设数字k2 ...

  10. Angularjs 动态添加指令并绑定事件

    先说使用场景,动态生成DOM元素并绑定事件,非常常见的一种场景,用jq实现效果: http://jsbin.com/gajizuyuju/edit?html,js,output var count=0 ...