Udvidet Switch-sætning
Sådan optimeres en switch-sætning?
Ligesom if
-sætningen har ternary operatoren, har switch
-sætningen en udvidet version kaldet enhanced switch.
Lad os straks se på syntaksen:
Main.java
123456789101112switch (variable) { case value1 -> { // code block } case value2 -> { // code block } // additional cases default -> { // code block } }
Den udvidede switch-sætning anvender en forenklet syntaks med ->
i stedet for case
og break
. Dette gør det muligt at skrive korte kodeblokke for hver case direkte uden behov for eksplicitte break
-sætninger.
Lad os se et eksempel på brug af en switch-sætning. Først ser vi på en almindelig switch-sætning:
Main.java
123456789101112131415161718192021package com.example; public class Main { public static void main(String[] args) { int a = 10; switch (a) { case 5: System.out.println("five"); break; case 0: System.out.println("zero"); break; case 10: System.out.println("ten"); break; default: System.out.println("no value"); break; } } }
Lad os nu erstatte det med den forbedrede version for at se forskellen:
Main.java
123456789101112131415161718192021package com.example; public class Main { public static void main(String[] args) { int a = 10; switch (a) { case 5 -> { System.out.println("five"); } case 0 -> { System.out.println("zero"); } case 10 -> { System.out.println("ten"); } default -> { System.out.println("no value"); } } } }
Som du kan se, er syntaksen ændret, og koden er blevet kortere. Derudover behøver vi ikke længere eksplicit at skrive break
-nøgleordet; compileren forstår nu, at den skal stoppe udførelsen af switch
-sætningen efter at have matchet en af tilfældene.
På denne måde kan vi forenkle vores switch
-sætning og skrive professionel kode.
1. Hvad er casesyntaksen for den udvidede Switch
-sætning?
2. Skal vi bruge break;
-nøgleordet med udvidet switch?
Tak for dine kommentarer!
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat
Awesome!
Completion rate improved to 2.63
Udvidet Switch-sætning
Stryg for at vise menuen
Sådan optimeres en switch-sætning?
Ligesom if
-sætningen har ternary operatoren, har switch
-sætningen en udvidet version kaldet enhanced switch.
Lad os straks se på syntaksen:
Main.java
123456789101112switch (variable) { case value1 -> { // code block } case value2 -> { // code block } // additional cases default -> { // code block } }
Den udvidede switch-sætning anvender en forenklet syntaks med ->
i stedet for case
og break
. Dette gør det muligt at skrive korte kodeblokke for hver case direkte uden behov for eksplicitte break
-sætninger.
Lad os se et eksempel på brug af en switch-sætning. Først ser vi på en almindelig switch-sætning:
Main.java
123456789101112131415161718192021package com.example; public class Main { public static void main(String[] args) { int a = 10; switch (a) { case 5: System.out.println("five"); break; case 0: System.out.println("zero"); break; case 10: System.out.println("ten"); break; default: System.out.println("no value"); break; } } }
Lad os nu erstatte det med den forbedrede version for at se forskellen:
Main.java
123456789101112131415161718192021package com.example; public class Main { public static void main(String[] args) { int a = 10; switch (a) { case 5 -> { System.out.println("five"); } case 0 -> { System.out.println("zero"); } case 10 -> { System.out.println("ten"); } default -> { System.out.println("no value"); } } } }
Som du kan se, er syntaksen ændret, og koden er blevet kortere. Derudover behøver vi ikke længere eksplicit at skrive break
-nøgleordet; compileren forstår nu, at den skal stoppe udførelsen af switch
-sætningen efter at have matchet en af tilfældene.
På denne måde kan vi forenkle vores switch
-sætning og skrive professionel kode.
1. Hvad er casesyntaksen for den udvidede Switch
-sætning?
2. Skal vi bruge break;
-nøgleordet med udvidet switch?
Tak for dine kommentarer!