Вопрос №521 от пользователя Dmitry Skurikhin в уроке «Модуль 4. Урок 4. Оператор SWITCH в Java.», курс «Введение в Java»

Dmitry Skurikhin

Вячеслав, спасибо. Все понятно, кроме одного вопроса. Почему все-таки нужен break в каждом case. Switch должен проверять каждый case. даже из лекции: пользователь ввел 1. case 1 - выполняется. почему пойдет выполнятся case 2 без break? пользователь ведь ввел 1. ничего не перетерлось и case 2 не должен выполняться. И правильно я понимаю, что если бы строка с case 2 шла раньше case 1, то тогда бы case 2 не выполнялся бы?

Можете пояснить все-таки почему break нужен?

1 0

Глеб Бочкарёв

сase это метка. switch переведёт выполнение программы на необходимую метку, но дальше программа начнёт выполняться построчно, как и должно быть. В случае, если программа не встречает break или return, то она просто пойдёт выполнять все строчки дальше, а соответственно выполнятся и все case. При этом иногда это свойство программисты используют в благих целях, например, если при выборе одного пункта нужно сделать всё, что предполагает другой пункт, плюс ещё пару дополнительных действий. Пример:

switch(тип_пользователя_hexlet) {
 case платный_подписчик:
   открыть_доступ_к_практике ();
 case обычный_подписчик:
   открыть_доступ_к_видео();
}
0

Используйте Хекслет по максимуму!

  • Задавайте вопросы по уроку
  • Проверяйте знания в квизах
  • Проходите практику прямо в браузере
  • Отслеживайте свой прогресс

Зарегистрируйтесь или войдите в свой аккаунт

Даю согласие на обработку персональных данных, соглашаюсь с «Политикой конфиденциальности» и «Условиями оказания услуг»

Рекомендуемые программы

С нуля до разработчика. Возвращаем деньги, если не удалось найти работу.

Иконка программы Фронтенд-разработчик
Профессия
Разработка фронтенд-компонентов веб-приложений
25 мая 10 месяцев
Иконка программы Python-разработчик
Профессия
Разработка веб-приложений на Django
25 мая 10 месяцев
Иконка программы PHP-разработчик
Профессия
Разработка веб-приложений на Laravel
25 мая 10 месяцев
Иконка программы Node.js-разработчик
Профессия
Разработка бэкенд-компонентов веб-приложений
25 мая 10 месяцев
Иконка программы Fullstack-разработчик
Профессия
Новый
Разработка фронтенд и бэкенд компонентов веб-приложений
25 мая 16 месяцев
Иконка программы Верстальщик
Профессия
Вёрстка с использованием последних стандартов CSS
в любое время 5 месяцев
Иконка программы Java-разработчик
Профессия
Разработка приложений на языке Java
25 мая 10 месяцев
Иконка программы Разработчик на Ruby on Rails
Профессия
Создает веб-приложения со скоростью света
25 мая 5 месяцев