Материал предоставлен http://it.rfet.ru

Конструкция if-else-if

В программировании часто применяется многоступенчатая конструкция if-else-if, состоящая из вложенных операторов if. Ниже приведена ее общая форма.

if (условие)
  оператор;
else if (условие)
  оператор;
else if (условие)
  оператор;
.
.
.
else
  оператор;

Условные выражения в такой конструкции вычисляются сверху вниз. Как только обнаружится истинное условие, выполняется связанный с ним оператор, а все остальные операторы в многоступенчатой конструкции опускаются.

Если ни одно из условий не является истинным, то выполняется последний оператор else, который зачастую служит в качестве условия, устанавливаемого по умолчанию. Когда же последний оператор else отсутствует, а все остальные проверки по условию дают ложный результат, то никаких действий вообще не выполняется.

В приведенном ниже примере программы демонстрируется применение многоступенчатой конструкции if-else-if. В этой программе обнаруживается наименьший множитель заданного целого значения, состоящий из одной цифры.

// Определить наименьший множитель заданного
// целого значения,  состоящий из одной цифры.

using System;

class Ladder {
  static void Main() {
    int num;

    for (num = 2; num < 12; num++) {
      if ((num % 2) == 0)
        Console.WriteLine("Наименьший множитель числа " + num
                          + " равен 2.");
      else if ((num % 3) == 0)
          Console.WriteLine("Наименьший множитель числа " + num
                            + " равен 3. ");
        else if ((num % 5) == 0)
            Console.WriteLine("Наименьший множитель числа " + num
                              + " равен 5.");
          else if ((num % 7) == 0)
              Console.WriteLine("Наименьший множитель числа "
                                + num + " равен 7.");
            else
              Console.WriteLine(num + " не делится на 2, 3, 5 или 7.");
    }
  }
}

Вот к какому результату приводит выполнение этой программы.

Наименьший множитель числа 2 равен 2.
Наименьший множитель числа 3 равен 3.
Наименьший множитель числа 4 равен 2.
Наименьший множитель числа 5 равен 5.
Наименьший множитель числа 6 равен 2.
Наименьший множитель числа 7 равен 7.
Наименьший множитель числа 8 равен 2.
Наименьший множитель числа 9 равен 3.
Наименьший множитель числа 10 равен 2.
11 не делится на 2, 3, 5 или 7.

Как видите, последний оператор else выполняется лишь в том случае, если не удается выполнить ни один из предыдущих операторов.

Вложенные операторы ifОператор switch