switch arduino
Оператор Switch
Я уже писал про использование конструкции if, её альтернативой является оператор switch.
Если у вас может быть много значений одной переменной — то лучше воспользоваться не if, а альтернативным и более эффективный условным оператором switch.
Ниже мы рассмотрим 2 примера. С использованием if и switch.
Если переменная color равна
1- будет выведен Красный,
2- будет выведен Синий,
3- будет выведен Зелёный,
4- будет выведен Жёлтый,
5- будет выведен Фиолетовый,
Любая другая цифра выведет - Чёрный,
int color =1;
void setup() {
Serial.begin(9600);
}
void loop() {
if (color == 1)
Serial.println("Красный");
else if (color == 2)
Serial.println("Синий");
else if (color == 3)
Serial.println("Зелёный");
else if (color == 4)
Serial.println("Жёлтый");
else if (color == 5)
Serial.println("Фиолетовый");
else
Serial.println("Чёрный");
}
А вот так с использованием оператора switch:
1- будет выведен Красный,
2- будет выведен Синий,
3- будет выведен Зелёный, Жёлтый, Фиолетовый,
Любая другая цифра выведет - Чёрный
int color =1;
void setup() {
Serial.begin(9600);
}
void loop() {
switch (color) {
case 1:
Serial.println("Красный");
break;
case 2:
Serial.println("Синий");
break;
case 3:
Serial.println("Зелёный");
Serial.println("Жёлтый");
Serial.println("Фиолетовый");
break;
default:
Serial.println("Чёрный");
}
Как видите этот оператор Switch намного удобнее.
Оператор switch сравнивает значение с переменной COLOR.
Когда найден оператор case равный переменной COLOR, выполняется код в этом операторе.
Ключевое слово break является командой выхода из оператора case и обычно используется в конце каждого case. Без оператора break оператор switch будет продолжать вычислять следующие выражения, пока не достигнет break или конец оператора switch.
В одном case может быть много команд для выполнения.
Если нет ни одного подходящего значения, то выполнится команда default.