与基本的if语句相比,由于允许多个测试组合在一起,if/else可以使用更多的控制流。例如,可以测试一个模拟量输入,如果输入值小于500,则采取一个动作,而如果输入值大于或等于500,则采取另一个动作。

代码看起来像是这样:

if (pinFiveInput < 500)
{
  // 动作A
}
else
{
  // 动作B
}

else中可以进行另一个if测试,这样多个相互独立的测试就可以同时进行。

每一个测试一个接一个地执行直到遇到一个测试为真为止。当发现一个测试条件为真时,与其关联的代码块就会执行,然后程序将跳到完整的if/else结构体的下一行。如果没有一个测试被验证为真,默认执行else语句块。缺省的else语句块,将被设为默认行为并执行。

注意:一个else if语句块必须与else同时使用。每个else if分支可以有无限多个。

if (pinFiveInput < 500)
{
  // 执行动作A
}
else if (pinFiveInput >= 1000)
{
  // 执行动作B
}
else
{
  // 执行动作C
}

另外一种表达互斥分支测试的方式,是使用switch case语句

【更多可见】 switch case语句

翻译自:Arduino Language Reference

<File:nextredirectltr.png>返回Arduino语法手册首页

<File:nextredirectltr.png>更多建议,指正,或者文档分享欢迎进入DF创客社区