美文网首页
连续不等式判断

连续不等式判断

作者: 圆脸黑猫警长 | 来源:发表于2020-12-24 10:49 被阅读0次

一、基础

对于一个区间的判断是十分常见的需求,比如需要判断a是否在区间[1,9]中。
正确的判断方式是

if (a >=1 && a<=9){
    // 进入此处即是[1,9]之间
}
这里容易出现一种常见的思维误区:直接使用连续不等式判断
if (1<= a <=9){
  // 这样的判断是错误的    
}

为什么使用连续不等式不能正确的判断呢?这是因为和计算机执行的过程有关系,在执行1<= a <=9时并不是直接进行的两次判断(1 <= a和 a <= 9),而是先执行1 <= a,然后拿这个结果去和<= 9进行比较 ,很多编程语言中1 <= a得到的结果是true或者 false
那么在执行true <= 9会发生什么? 这两个是不同的数据类型,判断的时候会自动进行类型转换(隐式类型转换),很多编程语言是将true转换为1false转换为0,那么整个连续不等式判断结果就是 1 <= 9 或者 0 <= 9 的结果,由此可见,1 <= a <= 9的执行结果永远都是true,并非预期结果

二、进阶

除隐式数据类型转换,在逻辑判断符 &&||中还有一个短路特性,即执行到达成结果的最小单元后不再进行后续代码运算。
例如 A && B , A、B可以是任何返回true\false的表达式。如果A的到的结果是false, A && B 的结果就已经可以确定为false,此时,就不会去执行B。同理,如果在 A || B 中 A的值是true, 那么结果也可以确定为true,此时就不会去执行B。

这样的短路特性可以简化代码的书写,但是同时也降低了代码的可阅读性,甚至执行到一些非预期结果。

相关文章

  • 连续不等式判断

    一、基础 对于一个区间的判断是十分常见的需求,比如需要判断a是否在区间[1,9]中。正确的判断方式是 这里容易出现...

  • 柏舟日記|辭舊迎新

    2022年01月31日 深夜“均值不等式,柯西不等式,权方和不等式,舒尔不等式,琴生不等式,贝努利不等式,契比雪夫...

  • 【高等数学】不等式的解和解集

    不等式概念:式子中有 解不等式:解不等式的过程称之为不等式,解不等式的值的取值范围成为解值,解不等式的未知数的值称...

  • 7.反转整数 by 2018-04-22

    本题关键点在于溢出的判断: 检查溢出的不等式来自于:res * 10 + x % 10 > INT_MAX。此不等...

  • 三目运算

    自带return 连续判断

  • 高中数学题型五十六《解不等式》

    我们通常遇到的解不等式有一元二次不等式、含绝对值不等式、分式不等式,这里解的不等式是利用导数求单调性,再结合函数的...

  • Cauchy-Schwarz不等式、Hölder不等式与Mink

    本文介绍几个常用的与期望有关的不等式。 1 Cauchy–Schwarz不等式 Cauchy–Schwarz不等式...

  • 数学笔记:不等式

    三角不等式 伯努利不等式 二项不等式 均值不等式 调和平均数、集合平均数、算术平均数和二次平均数 杨氏不等式 施瓦...

  • 2019-07-29

    物理 数学 糖水不等式糖水不等式 - 搜狗百科

  • 柯西-施瓦茨不等式

    Cauchy-Schwarz 不等式 这是一个非数考研经常会遇到的不等式 Cauchy-Schwarz 不等式 接...

网友评论

      本文标题:连续不等式判断

      本文链接:https://www.haomeiwen.com/subject/ocapnktx.html