📅  最后修改于: 2020-12-27 09:40:07             🧑  作者: Mango
开关箱通过在各种情况下执行代码来控制程序的流程。 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 :它包含一个要比较的值。这些值是常数。允许的数据类型为int和char 。
考虑以下流程图:
我们可以使用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()
{
}
输出: