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语句。

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • mysql 5.5 驱动jar包_MySQL驱动jar包下载「建议收藏」

    mysql 5.5 驱动jar包_MySQL驱动jar包下载「建议收藏」MySQLJDBC驱动是Java连接MySQL数据库时要用到的驱动包,MySQL驱动就是赋值外界与数据的连接接口,对于专业的Java开发人员一定会使用到的MySQL驱动Jar包的,有需要的赶快来试试吧!【功能特点】易于开发的特点,包括通过自动注册服务提供商机制,标准化的连接有效性检查和分类的SQLExceptions的基础上可恢复/重试能力和一流的底层错误。DriverManager隔离解开包…

  • C++ 中的左值和右值

    一、前言一直以来,我都对C++中左值(lvalue)和右值(lvalue)的概念模糊不清。我认为是时候好好理解他们了,因为这些概念随着C++语言的进化变得越来越重要。二、左值和右值——一个友好的定义首先,让我们避开那些正式的定义。在C++中,一个左值是指向一个指定内存的东西。另一方面,右值就是不指向任何地方的东西。通常来说,右值是暂时和短命的,而左值则活的很久,因为他们以变量的形式(v…

  • 自旋锁和互斥锁区别在哪_互斥锁的实现

    自旋锁和互斥锁区别在哪_互斥锁的实现POSIXthreads(简称Pthreads)是在多核平台上进行并行编程的一套常用的API。线程同步(ThreadSynchronization)是并行编程中非常重要的通讯手段,其中最典型的应用就是用Pthreads提供的锁机制(lock)来对多个线程之间共享的临界区(CriticalSection)进行保护(另一种常用的同步机制是barrier)。Pthreads提供了多种锁机制:…

    2022年10月22日
  • keil5 最新版注册机 下载

    keil5 最新版注册机 下载今天开始学习STM32虽然有很多注册机可供下载,然而都有KEIL5在里面包含,导致某网盘中内存过大,下载速度,所以我推荐在一下博客下载,只有不到1MBhttps://blog.csdn.net/qq_22329595/article/details/83054499推荐希望你及早解决问题…

  • 计算机如何寻址_PLC编程,如何学习SCL语言?SCL语言编程入门

    计算机如何寻址_PLC编程,如何学习SCL语言?SCL语言编程入门随着现代工控技术的不断发展,可能很多使用过PLC的技术人员都有这么一个感受:传统的‘梯形图’编程方式在面对越来越复杂的控制要求时,已显得力不从心。其实,现在很多大品牌的中高级PLC都支持国际电工委员会IEC61131标准中规范的五种编程语言的混合编程,即梯形图(LD)、结构化文本(ST)、流程图(SFC)、指令表(IL)和功能块(FB)。在这五种编程语言中,梯形图+结构化文本是一…

  • xml文件格式例如以下

    xml文件格式例如以下

    2021年11月28日

发表回复

您的电子邮箱地址不会被公开。

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