Здравствуйте! Сегодня поговорим с Вами о инструкции switch в Java . Данная инструкция работает также как и аналогичная инструкция в PHP . Так что, если Вы уже знаете PHP , то для Вас не составит труда понять эту инструкцию. Итак, поехали.

Инструкция swicth в Java

Здравствуйте! Сегодня поговорим с Вами о инструкции switch в Java. Данная инструкция работает также как и аналогичная инструкция в PHP. Так что, если Вы уже знаете PHP, то для Вас не составит труда понять эту инструкцию. Итак, поехали.

Инструкция switch в Java используется для выбора одного значения из многих. Вот на что она похожа:

switch(выражение) {
  case A:
    // код
    break;
  case B:
    // код
    break;
  default:
    // код
}

Инструкция switch работает следующим образом:

  1. Сначала вычисляется выражение в скобках. Это происходит один раз. Как видите в скобках после switсh может стоять не только переменная, но и другое любое вычисляемое выражение.
  2. Затем вычисленное значение последовательно сравнивается с каждым блоком case.
  3. Если вычисленное значение совпадает со значением из блока case, исполняется код для этого блока case
  4. Также, блок case может оканчиваться ключевым словом break, о нем далее

В примере ниже, на печать выводится название дня недели в зависимости от переданного номера дня:

int day = 3;
switch (day) {
  case 1:
    System.out.println("Понедельник");
    break;
  case 2:
    System.out.println("Вторник");
    break;
  case 3:
    System.out.println("Среда");
    break;
  case 4:
    System.out.println("Четверг");
    break;
  case 5:
    System.out.println("Пятница");
    break;
  case 6:
    System.out.println("Суббота");
    break;
  case 7:
    System.out.println("Воскресенье");
    break;
}

Ключевое слово break и default

Смысл ключевого слова break в Java заключается в том, что когда поток выполнения достигает этой строки, то происходит немедленный выход из условия, т.е. остальные условия case уже выполняться не будут.

Ключевое слово default

int day = 3;
switch (day) {
  case 6:
    System.out.println("Сегодня Суббота");
    break;
  case 7:
    System.out.println("Сегодня Воскресенье");
    break;
  default:
    System.out.println("Выходные впереди");
}

Ключевое слово default в Java похоже на ключевое слово else в условных конструкциях. Оно будет исполнено, тогда когда ни одно из условий не будет выполнено.

Блоки case в выражении swicth/case могут быть организованы также и следующим образом:

int grade = 5;
swicth(grade) {
    case 5:
    case 4:
        System.out.println("Вы успешно прошли тест");
        break;
    case 3:
        System.out.println("Неплохо, но Вы можете лучше");
        break;
    defaul:
        System.out.println("Давайте еще раз");
        break;
}

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

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