📜  Arduino开关盒

📅  最后修改于: 2020-12-27 09:40:07             🧑  作者: Mango

Arduino开关盒

开关箱通过在各种情况下执行代码来控制程序的流程。 switch语句将变量的特定值与其他情况下的语句进行比较。当案例中的语句与变量的值匹配时,将执行与该案例关联的代码。

在每种情况下都使用break关键字。例如,如果有五种情况,则break语句也将为五种。 break语句退出switch案例。

不间断的switch语句将继续执行所有情况,直到结束。因此,在每种情况下都必须包含一个break语句。

让我们看一个例子。

switch(variable)
{
case 1:
// statements related to case1
break;
case 2:
// statements related to case2
break;
.
.
case n:
// statements related to case n
break;
default:
// it contains the optional code
//if nothing matches in the above cases, the default statement runs
break;
}

哪里,

variable :它包括将其值与多种情况进行比较的变量

value :它包含一个要比较的值。这些值是常数。允许的数据类型为intchar

开关箱流程图

考虑以下流程图:

我们可以使用if语句代替switch大小写吗?

是。

但是在某些情况下,实现切换条件比if语句要容易一些。

当比较非平凡表达式的多个条件时,建议使用切换用例而不是if语句。

if语句使我们可以在TRUE或FALSE这两个选项之间进行选择。对于两种以上的情况,我们也可以使用多个if语句。开关盒允许我们在各种离散选项之间进行选择。

代码示例

由于我们不需要重复执行,因此我们将在setup()函数包含switch的大小写。

考虑下面的代码:

// switch case example
void setup()
{
      Serial.begin(9600);
  int a = 1;
  switch(a) // the case matching the value in the declared variable will run
  {
    case 1:
    Serial.println(" Case 1 matches"); 
    // the value of variable matches with the value in case 1. 
// The message associated with case 1 will be printed
    break;
    case 2:
    Serial.println(" Case 2 matches");
    break;
    case 3:
    Serial.println(" Case 3 matches");
    break;
    default:
    Serial.println(" default matches");
    break;
  }
}
void loop()
{
}

输出: