if-else与switch

if-else与switch

对于条件分支语句,在设计条件的时候,需要考虑实际执行情况,才能提高效率,可以参考之前的博客:

https://www.cnblogs.com/pinking/p/9159931.html

现在主要讨论if-else与switch之间的区别

从执行效率角度来看:

对于if-else,至少执行if,这一次运算;而使用switch,实际是使用一个跳转表实现分支结构,不需要一次进行比较每一个所需要的条件,进行比较的次数为1。

从执行空间角度来看:

表的本质是一个拥有标号的数组,需要额外的存储空间,if-else语句的空间效率更好一点,switch是一个很典型的空间换时间的例子。

从灵活度来看:

  if-else判断的条件比较灵活;switch只能判断是一个指定值的数据,而不能对一个区间中的数据进行判断,这时候需要选择if-else语句。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/119436.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java中hashmap的实现原理与底层数据结构

    java中hashmap的实现原理与底层数据结构Hashmap是java面试中经常遇到的面试题,大部分都会问其底层原理与实现,本人也是被这道题问惨了,为了能够温故而知新,特地写了这个博客,以便时时学习。Hash结构HashMap根据名称可知,其实现方法与Hash表有密切关系。在讨论哈希表之前,我们先大概了解下其他数据结构在新增,查找等基础操作执行性能。数组:采用一段连续的存储单元来存储数据。对于指定下标的查找,时间复杂度为O(1);通过给…

    2022年5月19日
    25
  • i686和x86_64的区别

    i686和x86_64的区别i686的解释:i代表intel系列的cpu。386几乎适用于所有的x86平台,不论是旧的pentum或者是新的pentum-IV与K7系列的CPU等等,都可以正常的工作!那个i指的是Intel兼容的CPU的意思,至于386不用说,就是CPU的等级啦!i586就是586等级的计算机,那是哪些呢?包括pentum第一代MMXC…

    2022年6月7日
    141
  • vs2008sp1下载_vs2008激活成功教程版

    vs2008sp1下载_vs2008激活成功教程版安装VS2005SP1安装补丁包补充说明症状当您尝试运行MicrosoftWindowsServer2003或MicrosoftWindowsXP,计算机上安装大MicrosoftWindowsInstaller.msi)程序包或大型MicrosoftWindowsInstaller修补程序(.msp)程序包您可能会收到以下错误信息:错误1718。FileNa

    2022年10月5日
    0
  • 如何使vmware虚拟机中的Redflag Linux操作系统能够上网?

    如何使vmware虚拟机中的Redflag Linux操作系统能够上网? 第一种情况:主机使用PPPOE拨号上网方法一:NAT方式1、先关闭虚拟机中的操作系统,回到虚拟机主界面双击主界面右上方的的“Ethernet”,弹出“NetworkAdapter”对话框,选择“NAT”2、启动虚拟机操作系统,设置IP为动态获取,即通过DHCP获得。此时虚拟机中的操作系统用的是主机的IP,主机能够上网,那么虚拟机也能。方法二:Host-only方式1

    2022年8月20日
    3
  • Android:ViewPager扩展的具体解释——导航ViewPagerIndicator(有图片缓存,异步加载图片)

    Android:ViewPager扩展的具体解释——导航ViewPagerIndicator(有图片缓存,异步加载图片)

    2022年1月11日
    52
  • 存储过程调试

    存储过程调试

    2021年12月6日
    106

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号