多个if和multiple之间的区别和

时间:2014-04-07 04:47:04

标签: java php android performance

我对此有疑问和困惑 以下是示例

用于&&运算符

if(a>b && b>c)
{
    // do some thing
}

表示多个if

if(a>b)
{
   if(b>c)
{
    //do some thing
}
}

那么哪一个更好,为什么?因为语法和做同样的事情。唯一的区别是可读性和代码大小。

编译时间和速度怎么样?这里我使用的是简单的java,例如我是java家伙。

5 个答案:

答案 0 :(得分:1)

两者都没有做同样的事情。因为&&方法,如果a>b返回false,则不会检查b>c

但是在第二种方法中,它将检查第二个/每个条件,甚至在条件返回false之前。

答案 1 :(得分:0)

&&&如果所有条件都为真,则执行;如果一个条件为真,则执行其他条件

答案 2 :(得分:0)

两者都在做不同的任务,第一个等于 逻辑和 第二个等于 逻辑或

第一个输出只有在每个条件为真时才为真,对于第二个输出如果第一个条件为真,那么它可以执行某些事情,你可以理解它们之间的区别

  a>b    b>c    c>d    o/p
  0      0      0      0
  1      0      0      0
  1      1      0      0
  .      .      .      .
  .      .      .      .
  .      .      .      .
  .      .      .      .
  1      1      1      1

答案 3 :(得分:0)

他们两个都没有做同样的事..... 代码

if(a>b && b>c && c> d)
{
// do some thing
}

只有在所有条件都为真的情况下才会运行....

而在你的其他方法中,即

if(a>b)
{
//do some thing
}
if(b>c)
{ 
//do some thing
}
if(c>d)
{
//do some thing
}

如果一个条件不满足,则不会去检查其他条件......

答案 4 :(得分:-1)

这与以下区别相同:

if(a>b && b>c && c> d)
{
    // do some thing
}

if(a>b & b>c & c> d)
{
    // do some thing
}

第一个&&是短路运营商,而第二个是&是非短途运营商。 在第一种情况下,如果(a> b)返回false,则不检查(b> c)和(c> d)。在第二种情况下,它将检查所有三种情况,无论是否真实。

在您的情况下,第二个代码块类似于&的功能。操作