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

Posted poetsaw

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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选择有其闪光点。总之,无论如何,这是萨摩对于编码多样性的一种尝试。


以上是关于switch选择和if判断处理相似问题的比较的主要内容,如果未能解决你的问题,请参考以下文章

比较switch和多重if选择结构

R语言switch语句语法实战:Switch语句用来处理嵌套的if else处理起来比较困难或者麻烦的条件判断问题

if判断和switch选择

多重if选择结构和switch选择结构有啥异同?

JAVA-初步认识-第三章-语句-switch

关于if判断和switch