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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Selenium:Chrome、Edge、Firefox、Opera、Safari常用WebDriver下载安装[通俗易懂]

    Selenium:Chrome、Edge、Firefox、Opera、Safari常用WebDriver下载安装[通俗易懂]简介:Selenium中运行需要先配置WebDriver,各主流浏览器安装配置大同小异。关联攻略:Selenium分布式运行:SeleniumGridPython+Jenkins+Selenium-Grid实现分布式web-ui自动化测试(centos+win10为例)基本操作:1、下载安装目标浏览器。2、查看浏览器版本:设置-帮助/关于浏览器等3、下载driver4、解压driver复制粘贴到配置好的环境变量Python所在目录5、编写代码调试启动注意事项:若找不到对

    2022年9月18日
  • [core]-ARMV7-A、ARMV8-A、ARMV9-A 架构简介「建议收藏」

    Armv9-AarchitectureArmv9-A架构建立在Armv8-A架构的基础上并向前兼容。Armv9-A架构构成了Arm基础系统架构的基础——该规范概述了一种标准,可确保硬件和固件在系统级的广泛应用中具有兼容性。Armv9-A架构引入了一些主要的新特性:SVE2:extendingthebenefitofscalablevectorstomanymoreusecasesRealmManagementExtension(RME):extend

    2022年4月15日
  • SIFT 尺度空间

    SIFT 尺度空间   最近也注意一些图像拼接方面的文章,很多很多,尤其是全景图拼接的,实际上类似佳能相机附加的软件,好多具备全景图拼接,多幅图像自动软件实现拼接,构成(合成)一幅全景图像(风景)。Sift算法,我略知一二,无法仔细描述(刚也贴了2个最近的资料)。     当就尺度空间(scalespace),我想,其在计算机视觉(ComputerVision)/图像的多分辨率分析(尤其近年来小波的多分

    2022年10月10日
  • python实现守护进程_linux 守护进程

    python实现守护进程_linux 守护进程什么是守护线程:在后台运行,为其他线程提供服务的线程成为守护线程。为什么要引入守护线程:thread模块不支持守护线程的概念,当主线程退出时,所有的子线程都将终止,不管它们是否仍在工作,如果你不希望发生这种行为,就要引入守护线程的概念。守护线程的调用格式:thread.setDaemon(True)如何使用守护线程:1.当只有一个子线程并且为守护线程,那么这个守护线程就会等待主线程运行完毕后挂掉2…

    2022年10月8日
  • vim wqa(vim编辑中文)

    大家好,又见面了,我是你们的朋友全栈君。

    2022年4月11日
  • 有意思的批处理

    有意思的批处理

    2021年7月26日

发表回复

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

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