diff --git a/org.eclipse.jdt.ui/preview/formatter.java b/org.eclipse.jdt.ui/preview/formatter.java
index dcf60b6..ec28ff8 100644
--- a/org.eclipse.jdt.ui/preview/formatter.java
+++ b/org.eclipse.jdt.ui/preview/formatter.java
@@ -416,10 +416,15 @@
 //--PREVIEW--END--section-whitespace-statements-for
 
 //--PREVIEW--START--section-whitespace-statements-switch
-switch (number) { 
+Color newColor = switch(color) {
+case RED -> GREEN;
+case GREEN,BLUD->RED;
+default->BLACK;
+};
+
+switch (color) { 
 case RED:return GREEN;
-case GREEN:return BLUE;
-case BLUE:return RED;
+case GREEN,BLUE:return RED;
 default:return BLACK;
 }
 //--PREVIEW--END--section-whitespace-statements-switch
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/formatter/FormatterMessages.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/formatter/FormatterMessages.java
index 9f0eed9..f53aa1b 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/formatter/FormatterMessages.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/formatter/FormatterMessages.java
@@ -261,6 +261,8 @@
 	public static String FormatterModifyDialog_preview_show_whitespace_toggle;
 	public static String FormatterModifyDialog_preview_show_raw_source_toggle;
 	public static String FormatterModifyDialog_whiteSpace_pref_after_and_list;
+	public static String FormatterModifyDialog_whiteSpace_pref_after_arrow_in_case;
+	public static String FormatterModifyDialog_whiteSpace_pref_after_arrow_in_default;
 	public static String FormatterModifyDialog_whiteSpace_pref_after_arrow_operator;
 	public static String FormatterModifyDialog_whiteSpace_pref_after_assignment_operator;
 	public static String FormatterModifyDialog_whiteSpace_pref_after_at;
@@ -281,6 +283,7 @@
 	public static String FormatterModifyDialog_whiteSpace_pref_after_comma_fields;
 	public static String FormatterModifyDialog_whiteSpace_pref_after_comma_implements;
 	public static String FormatterModifyDialog_whiteSpace_pref_after_comma_in_alloc;
+	public static String FormatterModifyDialog_whiteSpace_pref_after_comma_in_case_expressions;
 	public static String FormatterModifyDialog_whiteSpace_pref_after_comma_in_method_args;
 	public static String FormatterModifyDialog_whiteSpace_pref_after_comma_in_params;
 	public static String FormatterModifyDialog_whiteSpace_pref_after_comma_in_qalloc;
@@ -300,6 +303,8 @@
 	public static String FormatterModifyDialog_whiteSpace_pref_after_semicolon;
 	public static String FormatterModifyDialog_whiteSpace_pref_after_unary_operators;
 	public static String FormatterModifyDialog_whiteSpace_pref_before_and_list;
+	public static String FormatterModifyDialog_whiteSpace_pref_before_arrow_in_case;
+	public static String FormatterModifyDialog_whiteSpace_pref_before_arrow_in_default;
 	public static String FormatterModifyDialog_whiteSpace_pref_before_arrow_operator;
 	public static String FormatterModifyDialog_whiteSpace_pref_before_assignment_operator;
 	public static String FormatterModifyDialog_whiteSpace_pref_before_at;
@@ -324,6 +329,7 @@
 	public static String FormatterModifyDialog_whiteSpace_pref_before_comma_fields;
 	public static String FormatterModifyDialog_whiteSpace_pref_before_comma_implements;
 	public static String FormatterModifyDialog_whiteSpace_pref_before_comma_in_alloc;
+	public static String FormatterModifyDialog_whiteSpace_pref_before_comma_in_case_expressions;
 	public static String FormatterModifyDialog_whiteSpace_pref_before_comma_in_method_args;
 	public static String FormatterModifyDialog_whiteSpace_pref_before_comma_in_params;
 	public static String FormatterModifyDialog_whiteSpace_pref_before_comma_in_qalloc;
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/formatter/FormatterMessages.properties b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/formatter/FormatterMessages.properties
index 29ba3b0..d294a73 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/formatter/FormatterMessages.properties
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/formatter/FormatterMessages.properties
@@ -72,7 +72,9 @@
 FormatterModifyDialog_whiteSpace_pref_before_comma_in_method_args=Before comma in method arguments
 FormatterModifyDialog_whiteSpace_pref_after_comma_in_method_args=After comma in method arguments
 FormatterModifyDialog_whiteSpace_pref_before_comma_in_alloc=Before comma in object allocation arguments
+FormatterModifyDialog_whiteSpace_pref_before_comma_in_case_expressions=Before comma in case expressions
 FormatterModifyDialog_whiteSpace_pref_after_comma_in_alloc=After comma in object allocation arguments
+FormatterModifyDialog_whiteSpace_pref_after_comma_in_case_expressions=After comma in case expressions
 FormatterModifyDialog_whiteSpace_pref_before_comma_in_qalloc=Before comma in explicit constructor call
 FormatterModifyDialog_whiteSpace_pref_after_comma_in_qalloc=After comma in explicit constructor call
 
@@ -186,7 +188,11 @@
 FormatterModifyDialog_whiteSpace_pref_before_opening_paren_annot_type=Before opening parenthesis in annotation type members
 FormatterModifyDialog_whiteSpace_pref_between_empty_parens_annot_type=Between parenthesis in annotation type members
 
+FormatterModifyDialog_whiteSpace_pref_after_arrow_in_case=After arrow in case
+FormatterModifyDialog_whiteSpace_pref_after_arrow_in_default=After arrow in default
 FormatterModifyDialog_whiteSpace_pref_after_arrow_operator=After arrow operator
+FormatterModifyDialog_whiteSpace_pref_before_arrow_in_case=Before arrow in case
+FormatterModifyDialog_whiteSpace_pref_before_arrow_in_default=Before arrow in default
 FormatterModifyDialog_whiteSpace_pref_before_arrow_operator=Before arrow operator
 FormatterModifyDialog_whiteSpace_tree_return='return'
 FormatterModifyDialog_whiteSpace_tree_throw='throw'
@@ -289,7 +295,7 @@
 FormatterModifyDialog_braces_pref_constructor_declaration=Constructor declaration:
 FormatterModifyDialog_braces_pref_blocks=Blocks:
 FormatterModifyDialog_braces_pref_blocks_in_case=Blocks in case statement:
-FormatterModifyDialog_braces_pref_switch_case='switch' statement:
+FormatterModifyDialog_braces_pref_switch_case='switch' statement/expression:
 FormatterModifyDialog_braces_pref_array_initializer=Array initializer:
 FormatterModifyDialog_braces_pref_keep_empty_array_initializer_on_one_line=Keep empty array initializer on one line
 FormatterModifyDialog_braces_pref_enum_declaration=Enum declaration:
@@ -524,7 +530,7 @@
 FormatterModifyDialog_parentheses_pref_enum_constant_declaration=Enum constant declaration:
 FormatterModifyDialog_parentheses_pref_if_while_statement='if', 'while' and 'do while' statement:
 FormatterModifyDialog_parentheses_pref_for_statement='for' statement:
-FormatterModifyDialog_parentheses_pref_switch_statement='switch' statement:
+FormatterModifyDialog_parentheses_pref_switch_statement='switch' statement/expression:
 FormatterModifyDialog_parentheses_pref_try_clause='try' clause:
 FormatterModifyDialog_parentheses_pref_catch_clause='catch' clause:
 FormatterModifyDialog_parentheses_pref_annotation=Annotation:
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/formatter/FormatterModifyDialog.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/formatter/FormatterModifyDialog.java
index 93d22c1..44a2cee 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/formatter/FormatterModifyDialog.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/formatter/FormatterModifyDialog.java
@@ -966,10 +966,16 @@
 						.node(fTree.builder(FormatterMessages.FormatterModifyDialog_whiteSpace_tree_switch, "-switch", modAll) //$NON-NLS-1$
 								.pref(FormatterMessages.FormatterModifyDialog_whiteSpace_pref_before_colon_case, DefaultCodeFormatterConstants.FORMATTER_INSERT_SPACE_BEFORE_COLON_IN_CASE)
 								.pref(FormatterMessages.FormatterModifyDialog_whiteSpace_pref_before_colon_default, DefaultCodeFormatterConstants.FORMATTER_INSERT_SPACE_BEFORE_COLON_IN_DEFAULT)
-								.pref(FormatterMessages.FormatterModifyDialog_whiteSpace_pref_before_opening_brace, DefaultCodeFormatterConstants.FORMATTER_INSERT_SPACE_BEFORE_OPENING_BRACE_IN_SWITCH)
+								.pref(FormatterMessages.FormatterModifyDialog_whiteSpace_pref_before_arrow_in_case, DefaultCodeFormatterConstants.FORMATTER_INSERT_SPACE_BEFORE_ARROW_IN_SWITCH_CASE)
+								.pref(FormatterMessages.FormatterModifyDialog_whiteSpace_pref_after_arrow_in_case, DefaultCodeFormatterConstants.FORMATTER_INSERT_SPACE_AFTER_ARROW_IN_SWITCH_CASE)
+								.pref(FormatterMessages.FormatterModifyDialog_whiteSpace_pref_before_arrow_in_default, DefaultCodeFormatterConstants.FORMATTER_INSERT_SPACE_BEFORE_ARROW_IN_SWITCH_DEFAULT)
+								.pref(FormatterMessages.FormatterModifyDialog_whiteSpace_pref_after_arrow_in_default, DefaultCodeFormatterConstants.FORMATTER_INSERT_SPACE_AFTER_ARROW_IN_SWITCH_DEFAULT)
+								.pref(FormatterMessages.FormatterModifyDialog_whiteSpace_pref_before_comma_in_case_expressions, DefaultCodeFormatterConstants.FORMATTER_INSERT_SPACE_BEFORE_COMMA_IN_SWITCH_CASE_EXPRESSIONS)
+								.pref(FormatterMessages.FormatterModifyDialog_whiteSpace_pref_after_comma_in_case_expressions, DefaultCodeFormatterConstants.FORMATTER_INSERT_SPACE_AFTER_COMMA_IN_SWITCH_CASE_EXPRESSIONS)
 								.pref(FormatterMessages.FormatterModifyDialog_whiteSpace_pref_before_opening_paren, DefaultCodeFormatterConstants.FORMATTER_INSERT_SPACE_BEFORE_OPENING_PAREN_IN_SWITCH)
 								.pref(FormatterMessages.FormatterModifyDialog_whiteSpace_pref_after_opening_paren, DefaultCodeFormatterConstants.FORMATTER_INSERT_SPACE_AFTER_OPENING_PAREN_IN_SWITCH)
-								.pref(FormatterMessages.FormatterModifyDialog_whiteSpace_pref_before_closing_paren, DefaultCodeFormatterConstants.FORMATTER_INSERT_SPACE_BEFORE_CLOSING_PAREN_IN_SWITCH))
+								.pref(FormatterMessages.FormatterModifyDialog_whiteSpace_pref_before_closing_paren, DefaultCodeFormatterConstants.FORMATTER_INSERT_SPACE_BEFORE_CLOSING_PAREN_IN_SWITCH)
+								.pref(FormatterMessages.FormatterModifyDialog_whiteSpace_pref_before_opening_brace, DefaultCodeFormatterConstants.FORMATTER_INSERT_SPACE_BEFORE_OPENING_BRACE_IN_SWITCH))
 						.node(fTree.builder(FormatterMessages.FormatterModifyDialog_whiteSpace_tree_do, "-while", modAll) //$NON-NLS-1$
 								.pref(FormatterMessages.FormatterModifyDialog_whiteSpace_pref_before_opening_paren, DefaultCodeFormatterConstants.FORMATTER_INSERT_SPACE_BEFORE_OPENING_PAREN_IN_WHILE)
 								.pref(FormatterMessages.FormatterModifyDialog_whiteSpace_pref_after_opening_paren, DefaultCodeFormatterConstants.FORMATTER_INSERT_SPACE_AFTER_OPENING_PAREN_IN_WHILE)
