Laajennettu Switch-Lause
Miten optimoida switch-lause?
Aivan kuten if-lauseella on ternäärinen operaattori, switch-lauseella on laajennettu versio nimeltään laajennettu switch.
Tarkastellaan heti syntaksia:
Main.java
123456789101112switch (variable) { case value1 -> { // code block } case value2 -> { // code block } // additional cases default -> { // code block } }
Laajennettu switch-lause käyttää yksinkertaistettua syntaksia, jossa käytetään -> case- ja break-avainsanojen sijaan. Tämän ansiosta voit kirjoittaa tiiviitä koodilohkoja jokaiselle tapaukselle ilman erillisiä break-lauseita.
Katsotaanpa esimerkki switch-lauseen käytöstä. Ensin tarkastellaan tavallista switch-lausetta:
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; } } }
Korvataan nyt tämä parannetulla versiolla, jotta näemme eron:
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"); } } } }
Kuten huomaat, syntaksi on muuttunut ja koodi on lyhyempi. Lisäksi meidän ei enää tarvitse kirjoittaa break-avainsanaa erikseen; kääntäjä ymmärtää nyt, että suoritus lopetetaan switch-lauseen kohdalla, kun jokin tapaus täsmää.
Tällä tavalla voimme yksinkertaistaa switch-lausetta ja kirjoittaa ammattimaista koodia.
1. Mikä on parannetun Switch-lauseen case-syntaksi?
2. Tarvitseeko parannetussa switchissä käyttää break;-avainsanaa?
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
Can you show me a full example of both regular and enhanced switch statements?
What are the main benefits of using the enhanced switch statement?
Are there any limitations or things to watch out for with the enhanced switch?
Mahtavaa!
Completion arvosana parantunut arvoon 2.63
Laajennettu Switch-Lause
Pyyhkäise näyttääksesi valikon
Miten optimoida switch-lause?
Aivan kuten if-lauseella on ternäärinen operaattori, switch-lauseella on laajennettu versio nimeltään laajennettu switch.
Tarkastellaan heti syntaksia:
Main.java
123456789101112switch (variable) { case value1 -> { // code block } case value2 -> { // code block } // additional cases default -> { // code block } }
Laajennettu switch-lause käyttää yksinkertaistettua syntaksia, jossa käytetään -> case- ja break-avainsanojen sijaan. Tämän ansiosta voit kirjoittaa tiiviitä koodilohkoja jokaiselle tapaukselle ilman erillisiä break-lauseita.
Katsotaanpa esimerkki switch-lauseen käytöstä. Ensin tarkastellaan tavallista switch-lausetta:
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; } } }
Korvataan nyt tämä parannetulla versiolla, jotta näemme eron:
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"); } } } }
Kuten huomaat, syntaksi on muuttunut ja koodi on lyhyempi. Lisäksi meidän ei enää tarvitse kirjoittaa break-avainsanaa erikseen; kääntäjä ymmärtää nyt, että suoritus lopetetaan switch-lauseen kohdalla, kun jokin tapaus täsmää.
Tällä tavalla voimme yksinkertaistaa switch-lausetta ja kirjoittaa ammattimaista koodia.
1. Mikä on parannetun Switch-lauseen case-syntaksi?
2. Tarvitseeko parannetussa switchissä käyttää break;-avainsanaa?
Kiitos palautteestasi!