嵌套的ifs和另一个if语句有什么区别?

时间:2019-07-15 13:12:41

标签: any

假设您有一个编码部分,可以通过嵌套的if来执行

if  then 
else if then 
endif
endif

或另一个if语句

if then endif
if then endif

两者之间有什么区别?

1 个答案:

答案 0 :(得分:1)

要回答这个问题有些棘手,因为您必须改进格式(并最好指定一种语言)。

使用伪代码,我想你的意思是:

if condition_1 then:
    action_1
else:
    if condition_2 then:
        action_2
    end if (for condition_2)
end if (for condition_1)

vs

if condition_1 then:
    action_1A
else:
    action_1B
end if (for condition_1)

if condition_2 then:
    action_2
end if (for condition_2)

区别在于,在第一种情况下,仅在condition_1为false的情况下才对condition_2进行测试。如果condition_1为true,则采取action_1并且if块结束。

在第二种情况下,将检查第一个条件_1。如果为true,则采取action_1A。如果为假,则采取action_1B(您的问题中缺少此“ else”部分,这是可选的)。与condition_1无关,都会检查condition_2。如果为true,则采取action_2。

如您所见,第一个嵌套块仅允许一个动作,即action_1(condition_1为true)或action_2(condition_1为false,condition_2为true),或者如果两个条件均为false,则不允许任何动作。

在两个块的情况下,分别考虑action_1和action_2,如果condition_1和condition_2都为true,则两者都会发生,这在此嵌套示例中是不可能的。