Utvidet Switch-setning
Hvordan optimalisere en switch-setning?
Akkurat som if
-setningen har ternær operator, har switch
-setningen en utvidet versjon kalt utvidet switch.
La oss se på syntaksen med en gang:
Main.java
123456789101112switch (variable) { case value1 -> { // code block } case value2 -> { // code block } // additional cases default -> { // code block } }
Den utvidede switch-setningen bruker en forenklet syntaks med ->
i stedet for case
og break
. Dette lar deg skrive konsise kodeblokker for hver case direkte uten behov for eksplisitte break
-setninger.
La oss se på et eksempel med en switch-setning. Først ser vi på en vanlig switch-setning:
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; } } }
La oss nå erstatte det med den forbedrede versjonen for å se forskjellen:
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, har syntaksen endret seg, og koden har blitt kortere. I tillegg trenger vi ikke lenger å skrive break
-nøkkelordet eksplisitt; kompilatoren forstår nå at den skal stoppe utførelsen av switch
-setningen etter at en av casene er matchet.
På denne måten kan vi forenkle vår switch
-setning og skrive profesjonell kode.
1. Hva er case-syntaksen for forbedret Switch
-setning?
2. Må vi bruke break;
-nøkkelordet med forbedret switch?
Takk for tilbakemeldingene dine!
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår
Can you show me an example of a regular switch statement?
Can you provide an example of the enhanced switch statement?
What are the main benefits of using the enhanced switch statement?
Awesome!
Completion rate improved to 2.63
Utvidet Switch-setning
Sveip for å vise menyen
Hvordan optimalisere en switch-setning?
Akkurat som if
-setningen har ternær operator, har switch
-setningen en utvidet versjon kalt utvidet switch.
La oss se på syntaksen med en gang:
Main.java
123456789101112switch (variable) { case value1 -> { // code block } case value2 -> { // code block } // additional cases default -> { // code block } }
Den utvidede switch-setningen bruker en forenklet syntaks med ->
i stedet for case
og break
. Dette lar deg skrive konsise kodeblokker for hver case direkte uten behov for eksplisitte break
-setninger.
La oss se på et eksempel med en switch-setning. Først ser vi på en vanlig switch-setning:
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; } } }
La oss nå erstatte det med den forbedrede versjonen for å se forskjellen:
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, har syntaksen endret seg, og koden har blitt kortere. I tillegg trenger vi ikke lenger å skrive break
-nøkkelordet eksplisitt; kompilatoren forstår nå at den skal stoppe utførelsen av switch
-setningen etter at en av casene er matchet.
På denne måten kan vi forenkle vår switch
-setning og skrive profesjonell kode.
1. Hva er case-syntaksen for forbedret Switch
-setning?
2. Må vi bruke break;
-nøkkelordet med forbedret switch?
Takk for tilbakemeldingene dine!