If statement 否则,如果条件相同
出于好奇,当我为If statement 否则,如果条件相同,if-statement,language-agnostic,logic,If Statement,Language Agnostic,Logic,出于好奇,当我为的else if调用相同的条件时,当条件1得到满足时,部分代码是否仍会执行?这是否因编程语言而异?否,第二个条件永远不会在任何语言中执行 但是,如果Condition1在第一个条件中以某种方式计算为false,在第二个条件中计算为true,则将调用第二个条件。例如: if (Condition1) { dothis; } else if (Condition1) { dothat; } 否,第二个条件永远不会以任何语言执行 但是,如果Condition1在第一个
的else if
调用相同的条件时,当条件1
得到满足时,部分代码是否仍会执行?这是否因编程语言而异?否,第二个条件永远不会在任何语言中执行
但是,如果Condition1
在第一个条件中以某种方式计算为false
,在第二个条件中计算为true
,则将调用第二个条件。例如:
if (Condition1)
{
dothis;
}
else if (Condition1)
{
dothat;
}
否,第二个条件永远不会以任何语言执行
但是,如果Condition1
在第一个条件中以某种方式计算为false
,在第二个条件中计算为true
,则将调用第二个条件。例如:
if (Condition1)
{
dothis;
}
else if (Condition1)
{
dothat;
}
第二个if
紧跟在一个else
之后–因此,只有在第一个if
未成功时才会执行。因此——没有;将不执行的点。所有(理智的)编程语言都这样做
但是,一些编程语言对else if
有特殊的构造,您必须将其作为一个语句来编写,根据语言的不同,可以将其称为elif
、elsif
或ElseIf
。如果紧跟在else
之后,因此,只有当第一个未成功时,才会执行该命令。因此——没有;将不执行的点。所有(理智的)编程语言都这样做
然而,一些编程语言对一个else if
,有特殊的构造,你必须把它写成一个语句,根据语言的不同,不同的语句被称为elif
,elsif
或ElseIf
。你写的基本上等同于
<?php
$var = true;
function condition() {
global $var;
$var = !$var;
return $var;
}
if(condition()) {
echo "Conditional 1";
} elseif(condition()) {
echo "Conditional 2";
}
所以不,它永远不会被调用。你写的基本上等同于
<?php
$var = true;
function condition() {
global $var;
$var = !$var;
return $var;
}
if(condition()) {
echo "Conditional 1";
} elseif(condition()) {
echo "Conditional 2";
}
因此不会,它将永远不会被调用。因为条件1
计算为True
将调用if
的“dothis”,并跳过else if
。如果您想调用dothis
和dothat
,那么您将有两个具有相同Condition1
的If
语句,或者将dothis
和dothat
放在一个If
语句下。这是我在我使用的计算机编程语言中看到的
Python示例
if(Condition1)
{
dothis;
}
else
{
if(Condition1)
{
dothat;
}
}
由于Condition1
的计算结果为True
,if
的“dothis”将被调用,并跳过else if
。如果您想调用dothis
和dothat
,那么您将有两个具有相同Condition1
的If
语句,或者将dothis
和dothat
放在一个If
语句下。这是我在我使用的计算机编程语言中看到的
Python示例
if(Condition1)
{
dothis;
}
else
{
if(Condition1)
{
dothat;
}
}
虽然每个if-else语句最多执行一个分支,但在“条件”包含副作用的情况下,执行的分支可能并不总是if
分支
例如,考虑由“条件”表达式引入的副作用。
b = 2
if b == 2:
print "Hello"
elif b == 2:
print "World"
...
Hello
只执行了一个分支(“2”),但在这两种情况下使用了相同的“条件”。由于这些原因,在条件句中产生副作用是有问题的
1在所有现代主流语言中,if-else的条件都是“按需”和“按顺序”评估的。因此,不管其他副作用如何,执行条件计算为true的第一个分支,并且它是唯一执行的分支。虽然每个if-else语句最多执行一个分支,但在“条件”包含副作用的情况下,执行的分支可能并不总是if
分支
例如,考虑由“条件”表达式引入的副作用。
b = 2
if b == 2:
print "Hello"
elif b == 2:
print "World"
...
Hello
只执行了一个分支(“2”),但在这两种情况下使用了相同的“条件”。由于这些原因,在条件句中产生副作用是有问题的
1在所有现代主流语言中,if-else的条件都是“按需”和“按顺序”评估的。因此,不管其他副作用如何,执行条件评估为true的第一个分支,并且它是唯一执行的分支。有些人会随身携带一个牛戳来解决类似的问题。:)@赵或装有岩盐的猎枪;-)有些人为了解决这样的案件,在附近放了一根牛鞭@赵或装有岩盐的猎枪;-)