switch选择和if判断处理相似问题的比较

在编程中,萨摩遇到了一个常见的功能需要实现,即对某多功能程序展示菜单给用户进行向导和选择。比如:

在进行编码时,老师给与的建议是对用户输入的数据进行多个if判断,从而进行相应的代码功能段。代码示例:

if(input=="0")
{
break;
}
else if(input=="1")
{
#region 添加数据
#endregion
}
else if(input=="2")
{
#region 删除数据
#endregion
}
else if(input=="3")
{
#region 修改数据
#endregion
}
else if(input=="4")
{
#region 升序排列
#endregion
}
else
{
Console.Write("输入有误!");Continue;
}

因为大量出现的if让强迫症的萨摩有点生理不适,故情急之下想起了因为不常用而快要淡出记忆海之外的switch选择,因为其“case”选择的都是固定的值,日常处理问题时有一定局限性,才惨遭遗忘,但用在这里有限的几个菜单选择,且选项的编号都是定值的情形再适合不过。本着能省一个代码就省一个代码的原则,萨摩尝试了一下用switch选择来实现这个功能。代码示例:

switch (input)
{
case "1":
#region 添加数据
#endregion
continue;
case "2":
#region 删除数据
#endregion;
continue;
case "3":
#region 修改数据
#endregion
continue;
case "4":
#region 升序排列
#endregion
continue;
default:
Console.Write("输入有误!”);

实践发现,对于菜单的引导功能,switch选择和if判断都可以顺利实现。在编码操作中,个人经验上if判断更直观,所敲代码数switch选择也并没有明显的简化。现实中深入编码工作,因为switch选择所要实现的功能if判断都能实现,而反之,却不一定。由于switch选择的局限性,使用频率不高,可能很多初学者对于switch选择,相对来说会陌生许多。虽然即使不会运用switch选择并不会影响我们的编程,但既然存在这种功能的代码,还是应该多尝试使用,至少若有一天遇到用switch选择编写的内容,要知道是什么意思。而对于switch选择在运行速度和效率上和if判断的区别,目前所学知识尚不足以解释,但推测正是这方面的原因,让switch选择有其闪光点。总之,无论如何,这是萨摩对于编码多样性的一种尝试。

原文地址:https://www.cnblogs.com/PoetSAW/p/9165047.html

时间: 2024-10-14 00:37:47

switch选择和if判断处理相似问题的比较的相关文章

对于if判断和switch选择的入门理解

今天是分享一下流程控制语句中对if判断和switch选择的初步了解,让我们来看一下这两者的代码结构. if 判断: if(条件1) {代码1} else if(条件2) {代码2} else{代码n} if判断中的条件都必须为bool类型.代码可以是任意功能,任意数目.表示如果条件1成立,则执行代码1,否则判断条件2是否成立,如果成立,则执行代码2.所有条件都不成立则执行代码n.其中最后else的部分是可以省略的,表示如果以上条件都不成立,判断结束.else if可以重复任意次数. 举一个简单的

if判断和switch选择

在C#中,if判断语句相信是最基础最普遍的一个语法了,在这里简单记录一下if判断语句和switch选择之间的某些关联. if判断语句的代码格式: 其中的条件1和条件2,均为boll类型,代码1和代码2,直到代码n,都为任意功能.任意数量, 下面说一下switch,它的格式为: switch语句中的case语句也是任意数量,if判断与switch语句锁表达的意思有点相通,举个例子说明: 我要实现一个功能,首先请用户选择输入1或者2,如果是1的话,表示用户选择登录,如果是2的话,表示用户选择注册,听

Java Script 流程控制语句(if判断、switch选择和循环)

在JS中流程控制语句是相互嵌套配合使用的,以下个人见解整理仅供参考: if判断:听名字基本大概就能知道其作用,主要用于判断:下面代码示例可以更清晰的感觉到: if(判断条件){ 代码块1: } else { 代码块2: } 这是if判断的第一种写法,表示,如果判断条件为true,就执行代码块1,否则执行代码块2,后面的else就表示否则:else可以写也可以不写,不写就代表,如果判断条件为真就执行代码块1,否者什么都不用做: if(判断条件1){ 代码块1: } else  if(判断条件2)

关于流程控制语句中switch选择和各种循环

一.switch选择 switch的每个每支后面都必须写上"break",每个值都必须是一个具体的值,case可以是任何多个,default是0个或1个 Console.WriteLine("1.登陆"); Console.WriteLine("2.注册"); Console.Write("请选择(1-2):"); string input = Console.ReadLine(); switch (input) {    

android 从相册中选择图片并判断图片是否旋转

今天在做图片合成时,首先从相册中选择图片,然后判断该图片是否旋转了,今天就讲下图片是否旋转,直接上代码 /** * 读取照片exif信息中的旋转角度 * * @param path * 照片路径 * @return角度 获取从相册中选中图片的角度 */ public static int readPictureDegree(String path) { if (TextUtils.isEmpty(path)) { return 0; } int degree = 0; try { ExifInt

Java(4)switch选择结构

一.switch结构(开关语句)的语法 switch(表达式 ){--->类型为int.char case  常量1 :--->case 结构可以有多个 //语句块1 break;--->程序跳出switch结构 case  常量n :--->常量的值不能相同 //语句块n break; default:--->和if结构中的else作用相同 //语句块 break; } 示例1:张三参加计算机编程大赛,如果获得第一名,将旅游一个月.如果获得第2名,将奖励一台笔记本电脑.如果

选择结构二switch选择结构

 在上一章节我们讲解了if选择结构  本章我们学习 switch选择结构 还要知道if选择结构和switch结构的区别 为什么学习了if选择结构还要学习switch选择结构  以及 两种选择结构的运用场合 下面我们来看一个问题 问题:小明参加计算机比赛, 如果获得第1名那么就给他买一个车, 如果获得第2名就给他买一个手机 如果获得第3名就给他买本书 否则就什么都不买 这个题的解决方法可以用多重if选择结构  还可以用switch选择结构下面我们具体的使用每种选择结构都来操作一下 if(成绩==第

不使用if switch 各种大于 小于 判断2个数的大小

哥们写的代码: dword big; __asm { mov eax,a mov ebx,b cmp eax,ebx jle HOHO big =ebx HOHO: big = eax } 网上搜了一些,还有的说直接printf出来... 不使用if switch 各种大于 小于 判断2个数的大小,布布扣,bubuko.com

java学习之switch选择结构

学编程吧java学习之switch选择结构发布了,欢迎大家通过xuebiancheng8.com来访问 前面分析了java的流程控制分为选择结构,循环结构,其中选择结构可以分为if选择结构和switch结构.下面我们来分析switch...case结构. switch...case结构也是用来实现选择结构 语法如下: switch(变量){ case 常量1: ...... break; case 常量2: ...... break; default: ...... break; } 语法太抽象