5.循环控制(上)【0基础入门】

简介: 5.循环控制(上)【0基础入门】

前言

通过应用程序了解选择结构的具体使用方法,区分两种if...else语句和switch语句,本文从选择结构开始向循环控制开始分析,由于循环控制篇幅较长,分为上下两篇。


提示:以下是本篇文章正文内容,下面案例可供参考

一、异常捕获

我们在程序中经常会出现各种各样的异常,你如果想要你的程序变得坚强一些。

在你的代码中应该经常性的使用try-catch来进行异常捕获。

哪行代码有可能出现异常,你就踹它一脚。

语法:

try

{

可能会出现异常的代码;

}

//try和catch之间不能有其他的代码

catch

{

出现异常后要执行的代码;

}

执行过程:

如果try中的代码没有出现异常,那么catch中的代码不会执行。

如果try中的代码出现了异常,那怕这行出现异常的代码后面还有一百行都不会执行了,而是直接跳到catch中执行代码。

二、变量的作用域

变量的作用域就是你能够使用到这个变量的范围。

变量的作用域一般从声明它的那个括号开始到那个括号所对应的结束的括号结束。在这个范围内,我们可以访问并使用变量,超出这个范围就访问不到了。见下图。


942d3287d959436d82d0d5d24d1e0c80.png

      //原程序
      Console.WriteLine("请输入一个数字:");
            int num = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine(num*2);
            Console.ReadKey();
      //用try-catch
      //语法上没有错误,在程序运行的过程中,
            //由于某些原因程序出现了错误,不能再正常的运行
            int num=0;//声明了一个变量,要有一个数值
            Console.WriteLine("请输入一个数字:");
            try
            {
                num = Convert.ToInt32(Console.ReadLine());
                Console.WriteLine(num * 2);//使用
            }
            catch {
                Console.WriteLine("输入的内容不能转换为数字。");
            }
            Console.ReadKey();
      //语法上没有错误,在程序运行的过程中,
            //由于某些原因程序出现了错误,不能再正常的运行
            bool a = true;
            int num = 0;//声明了一个变量,要有一个数值
            Console.WriteLine("请输入一个数字:");
            try
            {
                num = Convert.ToInt32(Console.ReadLine());
            }
            catch
            {
                Console.WriteLine("输入的内容不能转换为数字。");
                a=false;
            }
            //如果要执行下面代码,需要满足某些条件
            //让代码满足某些条件执行需要使用bool类型
            if (a)
            {
                Console.WriteLine(num * 2);//使用
            }
            Console.ReadKey();

三、switch-case语句

定义:

用来处理多条件的定值的判断。

语法:

switch(变量或者表达式的值)

{

case 值1:要执行的代码;

break;

case 值2:要执行的代码;

break;

case 值3:要执行的代码;

break;

default:要执行的代码;

break;

}


执行过程:

程序执行到switch处,首先将括号中变量或者表达式的值计算出来,然后拿着这个值依次跟每个case后面所带的值进行匹配,一旦匹配成功,则执行该case所带的代码,执行完成后,遇到break。跳出switch-case结构。

如果,跟每个case所带的值都不匹配。就看当前这个switch-case结构中是否存在default,如果有default,则执行default中的语句,如果没有default,则该switch-case结构什么都不做。

 /*题目1:李四的年终工作评定:
             * 如果定为A级,则工资涨500元,
             * 如果定为B级,则工资涨200元,
             * 如果定为C级,工资不变,
             * 如果定为D级工资降200元,
             * 如果定为E级工资降500元.
             * 设李四的原工资为5000,请用户输入李四的评级,然后显示李四来年的工资.*/
           /*题目1:李四的年终工作评定:
             * 如果定为A级,则工资涨500元,
             * 如果定为B级,则工资涨200元,
             * 如果定为C级,工资不变,
             * 如果定为D级工资降200元,
             * 如果定为E级工资降500元.
             * 设李四的原工资为5000,请用户输入李四的评级,然后显示李四来年的工资.*/
            #region if else-if的做法
            //bool a = true;
            //double money = 5000;
            //Console.WriteLine("请输入李四的评级:");//A,B,C,D,E
            //string level = Console.ReadLine();
            //if (level=="A")
            //{
            //    money += 500;
            //}
            //else if (level == "B")
            //{
            //    money += 200;
            //}
            //else if (level == "C")
            //{
            //    money += 0;
            //}
            //else if (level == "D")
            //{
            //    money -= 200;
            //}
            //else if (level == "E")
            //{
            //    money -= 500;
            //}
            输入的不是ABCD其中一个
            //else{
            //    Console.WriteLine("您的输入有误,请输入A,B,C,D,E五个评级。");
            //    a = false;
            //}
            //if (a)
            //{
            //    Console.WriteLine("李四的工资为{0}", money);
            //}
            #endregion
            #region switch的做法
            bool a = true;
            double money = 5000;
            Console.WriteLine("请输入李四的评级:");//A,B,C,D,E
            string level = Console.ReadLine();
            switch(level){
                case "A": money += 500;
                    break;
                case "B": money += 200;
                    break;
                case "C": money += 0;
                    break;
                case "D": money -= 200;
                    break;
                case "E": money -= 500;
                    break;
                default: Console.WriteLine("您的输入有误,请输入A,B,C,D,E五个评级。");
                    a = false;
                    break;
            }
            if (a)
            {
                Console.WriteLine("李四的工资为{0}", money);
            }
            #endregion
            Console.ReadKey();
/*题目2:让用户输入姓名,然后显示出这个人上辈子是什么职业。*/
            Console.WriteLine("请输入您的姓名:");
            string name = Console.ReadLine();
            switch(name){
                case "小明": Console.WriteLine("上辈子是神!");
                    break;
                case "小红": Console.WriteLine("上辈子是仙女!");
                    break;
                case "小张": Console.WriteLine("上辈子是猪!");
                    break;
                case "小华": Console.WriteLine("上辈子是鬼!");
                    break;
                case "小丽": Console.WriteLine("上辈子是精灵!");
                    break;
                case "小紫": Console.WriteLine("上辈子是恶魔!");
                    break;
                default: Console.WriteLine("不认识,估计是一坨翔!");
                    break;
            }
            Console.ReadKey();

四、循环结构

语法:

while(循环条件)

{

循环体;

}

执行过程:

程序运行到while处,首先判断while所带的小括号内的循环条件是否成立,如果成立的话,也就是返回一个true,则执行循环体,执行完一遍循环体后,再次回到循环条件进行判断,如果依然成立,则继续执行循环体,如果不成立,则跳出while循环。

在while循环当中,一般总会有那么一行代码,能够改变循环条件,使之终有一天不再成立,如果没有那么一行代码能够改变循环条件,也就是循环条件永远都成立,我们称之这种循环叫做死循环。


最简单的最常用的死循环:

while(true)

{


}


特点:

先判断,再执行,有可能一遍循环都不执行。

五、break

1)、可以跳出switch-case结构。

2)、可以跳出当前循环。

break一般不单独的使用,而是跟着if判断一起使用,表示,当满足某些条件的时候,就不再循环了。

六、do-while循环

语法:

do

{

循环体;

}while(循环条件);

执行过程:

程序首先会执行do中的循环体,执行完成后,去判断do-while循环的循环条件,如果成立,则继续执行do中的循环体,如果不成立,则跳出do-while循环。

特点:

先循环,再判断,最少执行一遍循环体。

总结

提示:这里对文章进行总结:

例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。


目录
相关文章
|
12月前
|
开发工具
游戏开发实战教程(5):重复执行和逻辑循环的区别
将循环分为重复执行和逻辑循环,应该是微信小游戏开发工具中所特有的。因为之前做游戏,无论是使用哪种工具或者哪种编程语言,对于循环来说,都只有一种,不会存在歧义或者误用。但是这里将循环分为了两种,如果误用的话会导致出现一些奇怪的问题。所以需要单独拿出来区分一下,避免掉进这个“坑”。
117 0
|
开发工具
微信小游戏开发实战5-重复执行和逻辑循环的区别
本篇主要内容包括了解帧的概念,以及理解重复执行和逻辑循环这两种循环积木块之间的区别。 如果你没有任何的游戏开发经验,欢迎阅读我的“人人都能做游戏”系列教程,它会手把手的教你做出自己的第一个小游戏。
72 0
|
PHP 开发者
循环控制|学习笔记
快速学习循环控制
107 0
循环控制|学习笔记
|
Scala 开发者
DoWhile 循环控制|学习笔记
快速学习 DoWhile 循环控制。
87 0
|
Java Scala 开发者
for 循环的两种方式|学习笔记
快速学习 for 循环的两种方式。
86 0
|
Go 开发者
循环控制基本介绍和入门|学习笔记
循环控制听其名而知其意,就是让一段代码可以循环的执行。
68 0
循环控制基本介绍和入门|学习笔记
|
Go 开发者
多重循环应用案例(一)|学习笔记
快速学习多重循环应用案例
144 0
多重循环应用案例(一)|学习笔记
|
Go 开发者
多重循环应用案例(二)|学习笔记
快速学习多重循环应用案例
65 0
|
Java
java学习第四天笔记-循环高级和数组-分支结构85-循环跳转
java学习第四天笔记-循环高级和数组-分支结构85-循环跳转
47 0
java学习第四天笔记-循环高级和数组-分支结构85-循环跳转
|
Go 开发者
for 循环注意事项和细节(2)| 学习笔记
快速学习 for 循环注意事项和细节(2)
108 0
for 循环注意事项和细节(2)| 学习笔记