一个深奥的问题

时间:2011-03-13 19:37:49

标签: if-statement

之间有什么区别

情景1:

if (condition)
{
   do something;
}

else
{
   if(condition)
    {
        do something;
    }
}

情景2:

if (condition)
{
   do something;
}

else if(condition)
{
   do something;
}

情景3:

if (condition)
{
}

else
{
  do something;
}
问题1: 我在一些教程中看到了第一和第二个场景,为什么你必须明确定义else的条件。如果条件为假,它将自动转到else条件为什么你必须再次指定条件??

问题2:

方案1和方案2之间有什么区别??

5 个答案:

答案 0 :(得分:3)

第一个和第二个相同。在else之后,您可以使用单个语句或块。在第一个示例中,您使用了一个块,而在第二个示例中,您使用了一个if语句。两者都完全相同。

第三种情况不同,因为只有两种可能的结果,但在前两种情况下有三种可能的结果(如果两种情况都失败,第三种可能性就是什么都不做)。

答案 1 :(得分:0)

12之间没有区别。

使用else if的意思是,如果两个条件都不满足,则不会执行任何代码。

答案 2 :(得分:0)

条件不仅可以是A或B,你知道吗?它们可以是A或B或C ......用

一个例子胜过1000字......

IF you knew the solution, you wouldn't have asked this question
ELSE IF you knew of stackoverflow, you could have asked this question here
ELSE you would have remained ignorant 

: - )

在你的情况下,你“激活”了第二行......你很幸运!

现在......如果有人真的需要20行if / else语句的解释,if和withtout花括号以及else if和elseif(或elif)之间的差异,那么我可以写出来......但是我不认为他们真的有必要......

答案 3 :(得分:0)

在每种情况下,应该有两种不同的条件,例如,条件1和条件2,而不是条件和条件。

答案 4 :(得分:0)

场景1也可以与多个if {}子句级联,如下所示

if (condition1) 
    doAction1();
else if (condition2)
    doAction2();
else if (condition3)
    doAction3();
...

当条件涉及无法放入switch语句的字符串相等等测试时,这在Java中很有用。当然,如果你有太多这些,这可能表明你没有正确地分解代码。