Вопрос №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

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

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

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

Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и условия «Оферты», а также соглашаетесь с «Условиями использования»
Рекомендуемые программы
профессия
от 6 300 ₽ в месяц
Разработка фронтенд-компонентов для веб-приложений
10 месяцев
с нуля
Старт 8 июня
профессия
от 5 025 ₽ в месяц
новый
Сбор, анализ и интерпретация данных
9 месяцев
с нуля
Старт 8 июня
профессия
от 6 300 ₽ в месяц
Разработка веб-приложений на Django
10 месяцев
с нуля
Старт 8 июня
профессия
от 6 300 ₽ в месяц
Разработка приложений на языке Java
10 месяцев
с нуля
Старт 8 июня
профессия
от 6 300 ₽ в месяц
Разработка веб-приложений на Laravel
10 месяцев
с нуля
Старт 8 июня
профессия
от 6 183 ₽ в месяц
Ручное тестирование веб-приложений
4 месяца
с нуля
Старт 8 июня
профессия
от 6 300 ₽ в месяц
Разработка бэкенд-компонентов для веб-приложений
10 месяцев
с нуля
Старт 8 июня
профессия
от 10 080 ₽ в месяц
Разработка фронтенд- и бэкенд-компонентов для веб-приложений
16 месяцев
с нуля
Старт 8 июня
профессия
от 5 840 ₽ в месяц
Создание веб-приложений со скоростью света
5 месяцев
c опытом
Старт 8 июня
профессия
Верстка с использованием последних стандартов CSS
5 месяцев
с нуля
Старт в любое время
профессия
от 6 300 ₽ в месяц
новый
Автоматизированное тестирование веб-приложений на JavaScript
10 месяцев
с нуля
в разработке
дата определяется