Java не заставляет вас иметь оператор «по умолчанию», но это хорошая практика, чтобы иметь его все время, даже если код никогда не будет достигнут (прямо сейчас). Вот несколько причин:
Имея недостижимое предложение по умолчанию, вы показываете читателю своего кода, что вы рассмотрели значения, и знаете, что вы делаете. Вы также допускаете будущие изменения, скажем, например: добавлено новое значение перечисления, переключатель не должен молча игнорировать новое значение; вместо этого вы можете создать исключение или сделать что-то еще.
Чтобы поймать неожиданное значение (если вы не включаете перечисление), которое передается - например, оно может быть больше или меньше, чем вы ожидали.
Для обработки действий по умолчанию - где переключатели для особого поведения. Например, переменная может быть объявлена вне коммутатора, но не инициализирована, и каждый случай инициализирует ее чем-то другим. Значение по умолчанию в этом случае может инициализировать его значением по умолчанию, поэтому код сразу после переключателя не выдаст ошибку / не сгенерирует исключение.
Даже если вы решите не использовать ничего по умолчанию (без исключений, ведения журнала и т. Д.), Даже комментарий о том, что вы считаете, что факт по умолчанию никогда не произойдет, может помочь читабельности вашего кода; но это сводится к личным предпочтениям.