Разница между switch и switch expression в Java 12 заключается в возможностях, которые предоставляет switch expression. 13
Switch в Java 12 можно использовать только как оператор. 1 Он работает по следующему алгоритму: сначала оценивается выражение switch, затем его значение сравнивается с значениями меток case. 3 Если значение выражения соответствует метке case, то выполняются все операторы до встречи с оператором break. 3 Если значение выражения не соответствует ни одной метке case, то выполнение начинается с оператора, следующего за меткой default, и продолжается до конца оператора switch или встречи с оператором break. 3
Switch expression позволяет вычислять значение всего оператора switch и присваивать его переменной. 3 Некоторые другие возможности switch expression: