“If/else”的版本间的差异
来自YFRobotwiki
第1行: | 第1行: | ||
− | '''if/else''' | + | '''if/else''' 通过允许多个测试组合在一起,相对基本if语句,允许更大的控制流。例如,可测试一个模拟量输入值,如果值小于500则执行一个动作,而如果输入值大于等于500则执行另一个动作。代码如下: |
<pre style="color:dimgray"> | <pre style="color:dimgray"> | ||
第14行: | 第14行: | ||
− | else | + | '''else''' 中可以进行另一个 if 测试,这样多个互斥的测试可以同时运行。 |
+ | 每个测试都将依次被执行知道遇到一个测试为真为止。当发现一个测试条件为真时,与其相关的代码将执行,然后程序将跳至完整的 if/else 结构体的下一行语句。如果没有一个测试为真,如果存在else语句块,则默认执行。 | ||
− | + | <font color="red">'''注意:'''</font>一个else if 语句有没有else语句块都可以使用。允许无限制数量的 else if 分支。 | |
− | + | ||
− | + | ||
<pre style="color:dimgray"> | <pre style="color:dimgray"> | ||
第36行: | 第35行: | ||
</pre> | </pre> | ||
− | + | 另一种表达多分支互斥的判断语句是 [[switch case]] 语句。 | |
2015年8月18日 (二) 21:22的最后版本
if/else 通过允许多个测试组合在一起,相对基本if语句,允许更大的控制流。例如,可测试一个模拟量输入值,如果值小于500则执行一个动作,而如果输入值大于等于500则执行另一个动作。代码如下:
if (pinFiveInput < 500) { // action A } else { // action B }
else 中可以进行另一个 if 测试,这样多个互斥的测试可以同时运行。
每个测试都将依次被执行知道遇到一个测试为真为止。当发现一个测试条件为真时,与其相关的代码将执行,然后程序将跳至完整的 if/else 结构体的下一行语句。如果没有一个测试为真,如果存在else语句块,则默认执行。
注意:一个else if 语句有没有else语句块都可以使用。允许无限制数量的 else if 分支。
if (pinFiveInput < 500) { // do Thing A } else if (pinFiveInput >= 1000) { // do Thing B } else { // do Thing C }
另一种表达多分支互斥的判断语句是 switch case 语句。
更多建议和问题欢迎反馈至 YFRobot论坛