Kurssisisältö
Java Laajennettu
Java Laajennettu
Laajennettu Switch-Lause
Kuinka optimoida switch-lause?
Aivan kuten if
-lauseella on ternary-operaattori, switch
-lauseella on parannettu versio nimeltään parannettu switch.
Tarkastellaan heti syntaksia:
Main.java
switch (variable) { case value1 -> { // code block } case value2 -> { // code block } // additional cases default -> { // code block } }
Parannettu switch-lause käyttää yksinkertaistettua syntaksia, jossa käytetään ->
perinteisten case
- ja break
-avainsanojen sijaan. Tämän ansiosta voit kirjoittaa tiiviitä koodilohkoja jokaiselle tapaukselle ilman erillisiä break
-lauseita.
Tarkastellaan esimerkkiä switch-lauseen käytöstä. Katsotaan ensin tavallinen switch-lause:
Main.java
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 se nyt parannetulla versiolla nähdäksesi eron:
Main.java
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 lyhentynyt. Lisäksi meidän ei enää tarvitse kirjoittaa break
-avainsanaa erikseen; kääntäjä ymmärtää nyt, että switch
-lauseen suoritus lopetetaan, 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. Täytyykö parannetussa switchissä käyttää break;
-avainsanaa?
Kiitos palautteestasi!