Switch expression отличается от обычного оператора switch тем, что первое позволяет возвращать результат работы. javarush.com
Обычный оператор switch используется для управления потоком выполнения внутри блока кода. learn.microsoft.com Switch expression, в свою очередь, обычно применяется в контекстах возврата значений и их назначения, часто в качестве выражений с телом. learn.microsoft.com
Некоторые другие отличия:
- Пустота блока case: в switch expression блок case не может быть пустым, в то время как в обычном операторе switch это возможно. learn.microsoft.com
- Отсутствие оператора break: в switch expression не требуется ставить break, так как всегда выполняется только соответствующая ветка case, а её результат сразу возвращается в переменную. habr.com
- Использование ключевого слова yield: в switch expression оно помогает вернуть значение из switch, является аналогом return в методах. javarush.com habr.com