Скачать книгу

оператор может располагаться внутри другого условного оператора. Такая конструкция называется вложенными условными операторами. Количество вложенных операторов формально не ограничено, но в шаблоне для наглядности покажем только два вложенных условных оператора:

      if (условие 1) {

      // Блок команд 1

      }

      else if (условие 2) {

      // Блок команд 2

      }

      else if (условие 3) {

      // Блок команд 3

      }

      else {

      // Блок команд 4

      }

      Если условие 1 истинное, то выполняется блок команд 1, остальные блоки игнорируются и продолжается выполнение команд после конструкции. Если условие 1 ложное, то проверяется условие 2. Если условие 2 истинное, то выполняется блок команд 2, и так далее. Последний блок команд выполняется только в том случае, если все предшествующие условия оказались ложными.

      4.2 Оператор выбора switch

      Логика работы оператора switch напоминает конструкцию из вложенных операторов if, которую мы только что рассмотрели. Принципиальное различие состоит в том, что проверяемое выражение может возвращать только целочисленное или символьное значение, а не логические значения true или false. В общем виде шаблон оператора switch выглядит следующим образом:

      switch (выражение) {

      case значение_1:

      // Блок команд 1

      break;

      case значение_2:

      // Блок команд 2

      break;

      case значение_3:

      // Блок команд 3

      break;

      // другие case—блоки

      case значение_n:

      // Блок команд n

      break;

      default:

      // Блок команд по умолчанию

      }

      При выполнении оператора switch вычисляется значение выражения в круглых скобках. Затем это значение поочередно, сверху вниз, сравнивается со значениями, указанными в начале каждого case—блока. Как только обнаружено совпадение, выполняется набор команд соответствующего блока.

      Коварство оператора switch заключается в том, что при обнаружении совпадения выполняются все команды до конца оператора, включая команды в case—блоках, расположенных ниже. Если необходимо, чтобы выполнялись команды только одного блока, его необходимо завершать инструкцией break.

      Оператор завершается необязательным блоком default. Команды этого блока выполняются в том случае, если не обнаружено ни одного совпадения с контрольными значениями. Поскольку блок default завершает конструкцию, в нем не используется инструкция break.

      Вернитесь к среде разработки NetBeans и введите или загрузите пример программы, использующей оператор выбора (листинг 4.1).

      Листинг 4.1 Пример использования оператора выбора

      // импортируем класс JOptionPane из библиотеки Swing

      import javax.swing.JOptionPane;

      public class Listing4_1 {

      public static void main (String [] args) {

      int userData;

      String userInput;

      // Выводим окно запроса текущей даты

      userInput = JOptionPane.showInputDialog («Введите число от 1 до 3»);

      // Преобразуем строку в число в явном виде

      userData = Integer.parseInt (userInput);

      switch (userData) {

      case 1:

      JOptionPane.showMessageDialog (null, «Вы ввели число 1»);

      break;

      case 2:

      JOptionPane.showMessageDialog

Скачать книгу