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主要是为了简化代 ...
随机推荐
- JS调用APP
/* 500ms内,本机有应用程序能解析对应的协议并打开程序,调用该应用: 如果本机没有应用程序能解析该协议或者500ms内没有打开这个程序, 则执行setTimeout里面的function,跳转到 ...
- Java实现非递归删除目录
最近在学C#的文件系统, 发现C#的文件系统貌似比java的东西少一点, 居然连删除目录都直接做好封装了, 想到学java的时候还要自己写递归删除, 好像没写过非递归的,就在网上查了下, 关于非递归删 ...
- sass ruby环境 安装配置,使用sublime text3 中sass
首先,你想要使用sass的话,就必须依赖于ruby环境.所以,你要下一个ruby.具体的链接应该是(http://rubyinstaller.org/downloads).下载相应的版本.- 下载好之 ...
- 重温Javascript(二)
对象 可以想象成散列表,键值对,值可以是数据或函数 创建对象的方式 1.工厂模式 function createPerson(name, age, job){ var o = new Object() ...
- 使用cocapods报错 [!] Your Podfile has had smart quotes sanitised. To avoid issues in the future, you should not use TextEdit for editing it. If you are not using TextEdit, you should turn off smart quotes
从github上下载的工程大部分都使用了cocapods,在install的时候可能会报错. 报错原因: 1.不要使用文本编辑去编辑Podfile文件,使用Xcode编辑,或者使用终端敲命令去编辑. ...
- jQ层级选择器
<!DOCTYPE html><html> <head> <meta charset="utf-8" /> <title> ...
- 性能优化之AJAX
明天就放假啦~哈哈.四月份好像还没有输出呢,吓得我赶紧写点东西... Ajax是高性能JavaScript的基础. Ajax,从最基本的层面来说,是一种与服务器通信而无需重载页面的方法.数据可以从服务 ...
- 用exe4j将jar包转成.exe文件的教程
标准版教程再这里 http://pan.baidu.com/s/1i3gn0Br 1. 下载安装exe4j文件,并把你的java文件生成jar格式的文件,在桌面新建一个文件夹,把jar文件放进去 ...
- 前端开发框架简介:angular和react
作者:vienwu react是facebook推出一个用来构建用户界面的js库.官方介绍的三大特性如下: just the ui 把react只当作一个ui组件就好,等同于传统mvc中的view. ...
- 事件驱动的Python实现
EventManager事件管理类实现,大概就百来行代码左右.如果有不了事件驱动的工作原理的可以看前一篇<事件驱动的简明讲解> # encoding: UTF-8 # 系统模块 from ...