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提供了大量能使我们快速便捷地处理数据的函数和方法。


目录
相关文章
|
测试技术
【软件测试基础理论】α测试 β测试 和灰度测试?
【软件测试基础理论】α测试 β测试 和灰度测试?
【软件测试基础理论】α测试 β测试 和灰度测试?
hihoCoder #1078 : 线段树的区间修改(线段树区间更新板子题)
#1078 : 线段树的区间修改 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 对于小Ho表现出的对线段树的理解,小Hi表示挺满意的,但是满意就够了么?于是小Hi将问题改了改,又出给了小Ho: 假设货架上从左到右摆放了N种商品,并且依次标号为1到N,其中标号为i的商品的价格为Pi。
1820 0
|
8天前
|
人工智能 开发工具 iOS开发
Claude Code 新手完全上手指南:安装、国产模型配置与常用命令全解
Claude Code 是一款运行在终端环境中的 AI 编程助手,能够直接在命令行中完成代码生成、项目分析、文件修改、命令执行、Git 管理等开发全流程工作。它最大的特点是**任务驱动、终端原生、轻量高效、多模型兼容**,无需图形界面、不依赖 IDE 插件,能够深度融入开发者日常工作流。
3019 7
|
11天前
|
Shell API 开发工具
Claude Code 快速上手指南(新手友好版)
AI编程工具卷疯啦!Claude Code凭借任务驱动+终端原生的特性,成了开发者的效率搭子。本文从安装、登录、切换国产模型到常用命令,手把手带新手快速上手,全程避坑,30分钟独立用起来。
3113 20
|
23天前
|
人工智能 JSON 供应链
畅用7个月无影 JVS Claw |手把手教你把JVS改造成「科研与产业地理情报可视化大师」
LucianaiB分享零成本畅用JVS Claw教程(学生认证享7个月使用权),并开源GeoMind项目——将JVS改造为科研与产业地理情报可视化AI助手,支持飞书文档解析、地理编码与腾讯地图可视化,助力产业关系图谱构建。
23572 15
畅用7个月无影 JVS Claw |手把手教你把JVS改造成「科研与产业地理情报可视化大师」
|
4天前
|
人工智能 Linux BI
国内用 Claude Code 终于不用翻墙了:一行命令搞定,自动接 DeepSeek
JeecgBoot AI专题研究 一键脚本:Claude Code + JeecgBoot Skills + DeepSeek 全平台接入 一行命令装好 Claude Code + JeecgBoot Skills + DeepSeek 接入,无需翻墙使用 Claude Code,支持 Wind
2000 3
国内用 Claude Code 终于不用翻墙了:一行命令搞定,自动接 DeepSeek
|
10天前
|
人工智能 JSON BI
DeepSeek V4-Pro 接入 Claude Code 完全实战:体验、测试与关键避坑指南
Claude Code 作为当前主流的 AI 编程辅助工具,凭借强大的代码理解、工程执行与自动化能力深受开发者喜爱,但原生模型的使用成本相对较高。为了在保持能力的同时进一步降低开销,不少开发者开始寻找兼容度高、价格更友好的替代模型。DeepSeek V4 系列的发布带来了新的选择,该系列包含 V4-Pro 与 V4-Flash 两款模型,并提供了与 Anthropic 完全兼容的 API 接口,理论上只需简单修改配置,即可让 Claude Code 无缝切换为 DeepSeek 引擎。
2516 3