switch может покрывать все варианты, а может не покрывать Если ты результат switch записываешь в переменную/возвращаешь или делаешь из него return, не делая return после него в методе - тебе нужно покрывать все варианты
Он покрывает все варианты, которые ты ожидаешь, и которые фактические, да. Но компилятор не настолько умный, чтобы проверять все предыдущие условия, и понять что это число не будет любым другим.