Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Laajennettu Switch-Lause | Syvällinen Java-rakenne
Java Laajennettu

bookLaajennettu 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

Main.java

copy
123456789101112
switch (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

Main.java

copy
123456789101112131415161718192021
package 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

Main.java

copy
123456789101112131415161718192021
package 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?

question mark

Mikä on parannetun Switch-lauseen case-syntaksi?

Select the correct answer

question mark

Tarvitseeko parannetussa switchissä käyttää break;-avainsanaa?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 1. Luku 7

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

Suggested prompts:

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?

bookLaajennettu 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

Main.java

copy
123456789101112
switch (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

Main.java

copy
123456789101112131415161718192021
package 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

Main.java

copy
123456789101112131415161718192021
package 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?

question mark

Mikä on parannetun Switch-lauseen case-syntaksi?

Select the correct answer

question mark

Tarvitseeko parannetussa switchissä käyttää break;-avainsanaa?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 1. Luku 7
some-alt