Förbättrad Switch-sats
Svep för att visa menyn
Hur optimerar man ett switch-uttryck?
Precis som if-satsen har ternär operator, har switch-satsen en förbättrad version som kallas enhanced switch.
Låt oss direkt titta på syntaxen:
Main.java
123456789101112switch (variable) { case value1 -> { // code block } case value2 -> { // code block } // additional cases default -> { // code block } }
Den förbättrade switch-satsen använder en förenklad syntax med -> istället för case och break. Det gör det möjligt att skriva koncisa kodblock för varje fall direkt utan behov av explicita break-satser.
Låt oss titta på ett exempel på användning av en switch-sats. Först ser vi på en vanlig switch-sats:
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; } } }
Nu ersätter vi det med den förbättrade versionen för att se skillnaden:
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 syntaxen förändrats och koden har blivit kortare. Dessutom behöver vi inte längre uttryckligen skriva nyckelordet break; kompilatorn förstår nu att den ska sluta köra switch-satsen efter att en av fallen matchats.
På detta sätt kan vi förenkla vår switch-sats och skriva professionell kod.
1. Vad är syntaxen för case i den förbättrade Switch-satsen?
2. Behöver vi använda nyckelordet break; med förbättrad switch?
Tack för dina kommentarer!
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal