Конструкция else if в Dart
Пусть переменная val может принимать
значения 1, 2 или 3.
Пусть также для каждого значения мы хотим
выводить различные строки. Для решения задачи
можно просто написать три if без
конструкции else:
var val = 1;
if (val == 1) {
print("value1"); // сработает, если val равно 1
}
if (val == 2) {
print("value2"); // сработает, если val равно 2
}
if (val == 3) {
print("value3"); // сработает, если val равно 3
}
Конструкция else if позволяет задавать
условия в блоке else. Давайте посмотрим
на примере. Число равно единице:
var val = 1;
if (val == 1) {
print("value1"); // сработает это
} else if (val == 2) {
print("value2");
} else if (val == 3) {
print("value3");
}
Преимуществом использования else if
вместо нескольких if является возможность
отловить ситуацию, когда значение переменной
не подходит ни под одно из условий:
var val = 1;
if (val == 1) {
print("value1"); // сработает это
} else if (val == 2) {
print("value2");
} else if (val == 3) {
print("value3");
} else {
print("incorrect value");
}
Пусть у нас есть переменная min,
в которой хранится количество минут от 0
до 59. Давайте определим, в какую
четверть часа попадает указанное количество
минут:
var min = 10;
if (min >= 0 && min <= 14) {
print("1 quarter"); // сработает это
}
if (min >= 15 && min <= 29) {
print("2 quarter");
}
if (min >= 30 && min <= 44) {
print("3 quarter");
}
if (min >= 45 && min <= 59) {
print("4 quarter");
}
В переменной day лежит какое-то число
из интервала от 1 до 31.
Определите, в какую декаду месяца попадает
это число: в первую, вторую или третью.
Модифицируйте предыдущую задачу так, чтобы,
если в переменной day будет не число
от 1 до 31, выдавалось сообщение
об ошибке.
Решите аналогичную задачу про четверти часа, только определите, в какую треть часа попадает указанное количество минут.