我对此有疑问和困惑 以下是示例
用于&&
运算符
if(a>b && b>c)
{
// do some thing
}
表示多个if
if(a>b)
{
if(b>c)
{
//do some thing
}
}
那么哪一个更好,为什么?因为语法和做同样的事情。唯一的区别是可读性和代码大小。
编译时间和速度怎么样?这里我使用的是简单的java,例如我是java家伙。
答案 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)。在第二种情况下,它将检查所有三种情况,无论是否真实。
在您的情况下,第二个代码块类似于&的功能。操作